我有清除从超类扩展的所有验证约束的问题.以下是我的代码
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)
我想删除所有验证约束但不能删除它.
要禁用表单验证,您可以将该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)
然而,在您的代码中,我看到了关于管理验证的自定义验证,如果是这样,请考虑使用验证组。
希望这有帮助