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