【问题标题】:YiiFramework - Code redundancy on model rule declarationYiiFramework - 模型规则声明的代码冗余
【发布时间】:2014-09-22 10:30:42
【问题描述】:

想问是否有一种方法可以将模型中的多个规则分组为 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'
            ),

有这样的可能性吗?

【问题讨论】:

标签: php yii yii-validation


【解决方案1】:

不,这是不可能的。您可以将多个字段、场景和异常组合在一起,但不能将多个验证器组合在一起(有关示例,请参阅 the definite guide)。

唯一的出路是按照 Samuel 的建议创建自定义验证器,并结合所需的验证器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-17
    • 1970-01-01
    • 1970-01-01
    • 2012-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多