繁体   English   中英

Symfony2:表单收集的验证

[英]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-datahttp://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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM