这是我的表单,我在控制器中构建:
resizeMode="cover"
表单是Param对象的列表,它显示不错,但由于某种原因,当我提交表单时,我在entity_types字段上有一个错误,说明虽然选择了一个Param,但值不能为空(即使是默认情况下) )。
所以我想知道我是否可以禁用验证。
什么时候我将这个validation_groups设为false?如果它在$ entity_options中,我已经尝试了它并且它不起作用。
TY
答案 0 :(得分:0)
您应该修改这样的选项(需要和需要组):
$entity_options = array(
'class' => 'MyBundle:Param',
'property' => 'description',
'query_builder' => function(EntityRepository $er) {
return $er->getParamsFromCategorieQueryBuilder(MyController::$category_for_list);
},
'required' => false,
'validation_groups' => false,
'label' => 'Donnée à afficher'
);
如果错误发生在Form类本身上,则应该更改:
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'validation_groups' => false,
));
}
答案 1 :(得分:0)
防止验证的方法是:
$formBuilder->addEventListener(FormEvents::POST_SUBMIT, function (FormEvent $event) {
$event->stopPropagation();
}, 900);
它阻止调用验证事件。
giosh94mhz给我的解决方案不好,因为即使使用validation_group = false,仍然会进行一些验证。