删除子类属性中的所有验证约束

vib*_*bol 5 symfony

我有清除从超类扩展的所有验证约束的问题.以下是我的代码

user.php的

  * @var string
  * @ORM\Column(type="text", unique=true)
  * @Assert\NotBlank()
  * @Assert\NotNull()
  * @AdminAssert\MyCustomValidation
  */
 protected $phoneNumber;
Run Code Online (Sandbox Code Playgroud)

在Admin.php中,我编写了类似下面的代码

class Admin扩展用户

  * @var string
  * @ORM\Column(type="text", unique=true)
  */
 protected $phoneNumber;
Run Code Online (Sandbox Code Playgroud)

我想删除所有验证约束但不能删除它.

Mat*_*teo 2

要禁用表单验证,您可以将该validation_groups选项设置为false,如文档中所述。

在您的情况下,您可以检查类数据(如文档中所述)以禁用或不禁用表单验证,例如:

public function configureOptions(OptionsResolver $resolver)
{
    $resolver->setDefaults(array(
        'validation_groups' => function (FormInterface $form) {
            $data = $form->getData();

            if ($data instanceof Admin) {
                return;
            }

            return array('Default');
        },
    ));
}
Run Code Online (Sandbox Code Playgroud)

然而,在您的代码中,我看到了关于管理验证的自定义验证,如果是这样,请考虑使用验证组。

希望这有帮助