在表单类型步骤 Symfony 中禁用对自定义字段的断言
Disable assert to custom field in form type step Symfony
我已经在我的实体中配置了断言。
我创建了两种表单类型。
首先,我有 name
和 url
。第二个我有 description
.
/*
*@Assert/NotBlank()
*/
$description;
当我尝试提交第一个表单时,由于 $description
是空白,因此未通过验证。
但在第一种形式中,没有描述字段。
您要找的是验证组(http://symfony.com/doc/current/book/validation.html#validation-groups and 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;
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']
));
}
我已经在我的实体中配置了断言。
我创建了两种表单类型。
首先,我有 name
和 url
。第二个我有 description
.
/*
*@Assert/NotBlank()
*/
$description;
当我尝试提交第一个表单时,由于 $description
是空白,因此未通过验证。
但在第一种形式中,没有描述字段。
您要找的是验证组(http://symfony.com/doc/current/book/validation.html#validation-groups and 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;
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']
));
}