我在我的实体中配置了断言。
我创建了两种表单类型。
首先,我有name
和url
。在第二个我有description
。
/*
*@Assert/NotBlank()
*/
$description;
当我尝试提交第一个表单时,它未经过验证,因为$description
为空。
但是在第一种形式中,没有描述字段。
答案 0 :(得分:3)
您要查找的是验证组(http://symfony.com/doc/current/book/validation.html#validation-groups和http://symfony.com/doc/current/book/forms.html#validation-groups)。
基本上,对于您的情况,您需要定义两个验证组,并在表单类型上设置每个验证组。
<强> YourEntity 强>
/**
* @Assert\NotBlank(groups={"FirstForm"})
*/
private $name;
/**
* @Assert\NotBlank(groups={"FirstForm"})
*/
private $url;
/**
* @Assert\NotBlank(groups={"SecondForm"})
*/
private $description;
<强> FirstFormType 强>
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'validation_groups' => ['Default', 'FirstForm']
));
}
<强> SecondFormType 强>
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'validation_groups' => ['Default', 'SecondForm']
));
}