Forms 带依赖项的Symfony 2表单验证
我有一个包含2个字段的实体(当然还有一些字段,但为了简单起见,只有2:): 现在,我需要在symfony 2中为该实体创建一个表单,该表单在密码字段上具有以下依赖项: 当用户单击$is_public复选框时,他不必输入密码。另一方面,当用户希望实体(在我的示例中是用户组)为非公共时,他必须输入至少包含N个字符的密码 对于symfony2框架附带的验证器,您将如何做到这一点?有没有办法实现我的目标 提前谢谢大家,Forms 带依赖项的Symfony 2表单验证,forms,validation,symfony,Forms,Validation,Symfony,我有一个包含2个字段的实体(当然还有一些字段,但为了简单起见,只有2:): 现在,我需要在symfony 2中为该实体创建一个表单,该表单在密码字段上具有以下依赖项: 当用户单击$is_public复选框时,他不必输入密码。另一方面,当用户希望实体(在我的示例中是用户组)为非公共时,他必须输入至少包含N个字符的密码 对于symfony2框架附带的验证器,您将如何做到这一点?有没有办法实现我的目标 提前谢谢大家, Andi我发现的唯一方法是创建一个自定义的约束,使用类约束,您可以访问对象的所有属性
Andi我发现的唯一方法是创建一个自定义的
约束
,使用类约束,您可以访问对象的所有属性
看看这些课程:
您可以指定一个在验证时调用的回调函数,并让它执行任何您想要的操作。以下是文件: 请注意,如果使用的是翻译,还可以在addViolation调用中指定字符串键
$context->addViolation(
'Acme\DemoBundle\Entity\MyEntity.entityField.validationErrorString1',
array(), null);
$context->addViolation(
'Acme\DemoBundle\Entity\MyEntity.entityField.validationErrorString1',
array(), null);