[英]Symfony2: validation of form collection
我在表单中有一组元素。 我想对这些元素应用验证规则,但是对于更新的元素和新创建的元素,规则必须有所不同。
例如:4个元素的集合。 添加第5个元素时,仅需对此元素进行检查。 更新第3个元素,仅对该元素进行另一项检查。 删除第一个元素,应进行第三个检查。
这怎么可能 ? (注意:我使用Propel)
您可以使用不同的验证组来执行此操作。 在您的表单类型中,您可以确定要与Closure一起使用的验证组。
'validation_groups' => function(FormInterface $form) {
$data = $form->getData();
if (Client::TYPE_PERSON == $data->getType()) {
return array('person');
}
return array('company');
},
请参阅http://symfony.com/doc/current/book/forms.html#groups-based-on-the-submitted-data和http://symfony.com/doc/current/book/forms.html#validation -groups
如果还不够,您可以根据类约束创建自己的验证器: http : //symfony.com/doc/current/cookbook/validation/custom_constraint.html#class-constraint-validator并使用Propel知道哪个字段已更新。
希望对您有所帮助。
问候
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.