禁用 Symfony 2 类型中选项字段的后端验证
2022-08-31 00:19:37
是否可以对指定字段禁用后端(服务器端)验证?
Wnen Im 尝试使用动态加载的选项发送表单,我收到错误“错误:此值无效。
我认为symfony正在检查我的值是否在默认声明的列表(在我的情况下是它的空列表),如果没有,则返回false。
是否可以对指定字段禁用后端(服务器端)验证?
Wnen Im 尝试使用动态加载的选项发送表单,我收到错误“错误:此值无效。
我认为symfony正在检查我的值是否在默认声明的列表(在我的情况下是它的空列表),如果没有,则返回false。
这令人困惑,但这种行为与验证无关,因为它是由“ChoiceToValueTransformer”引起的,它确实在预先声明的列表中搜索条目。如果您的列表为空或要禁用转换器,则只需重置它即可。
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('yourField', 'choice', array('required'=>false));
//more fields...
$builder->get('yourField')->resetViewTransformers();
}
然后,您的自定义验证将介入(如果存在)。