YiiFramework - 模型规则声明的代码冗余

时间:2014-09-22 10:30:43

标签: php yii yii-validation

想知道是否有一种方法可以将模型中的多个规则分组为1,这样我就可以减少代码量,特别是在需要检查多个规则的相同属性的地方...下面是现在如何宣布规则......

            array (
                    'new_email_addr',
                    'email',
                    'on' => 'chngEmail'
            ),
            array (
                    'new_email_addr',
                    'required',
                    'on' => 'chngEmail'
            ),
            array (
                    'new_email_addr',
                    'sameEmail',
                    'on' => 'chngEmail'
            ),

正如您所看到的,属性 new_email_addr 需要在保存之前检查3条规则...我想要实现的是这样的,所以我可以在一个部分中完成所有事情。

            array (
                    'new_email_addr',
                    'required, email, sameEmail',
                    'on' => 'chngEmail'
            ),

有这样的可能性吗?

1 个答案:

答案 0 :(得分:1)

不,那是不可能的。您可以将多个字段,方案和例外组合在一起,但不能将多个验证器组合在一起(有关示例,请参阅the definite guide)。

唯一的出路是创建自定义验证器,结合Samuel所建议的那些想要的验证器。