Cakephp验证调整

时间:2015-10-29 07:45:19

标签: validation cakephp server-side

我为一个字段添加了多个验证规则

Array
(
    [email] => Array
    (
        [rule] => email
        [message] => Please input a valid email address
    )
    [notEmpty] => Array
    (
        [rule] => notEmpty
        [message] => This field is required
    )

)

我想如果归档为空,那么错误应该是"此字段是必需的"如果其邮箱地址无效,那么"请输入有效的电子邮件地址"。

我在两种情况下都收到了电子邮件地址错误。

提前致谢

1 个答案:

答案 0 :(得分:1)

您需要切换验证规则的顺序,以便首先检查'allowEmpty' => true。发生的事情是,如果该字段为空,则该字段无效,因为该字段不是有效的电子邮件(因为它不是)并且没有达到第二个规则。

您还可以尝试将email添加到Array ( [notEmpty] => Array ( [rule] => notEmpty [message] => This field is required ) [email] => Array ( [rule] => email [message] => Please input a valid email address [allowEmpty] => true ) ) 规则,因为如果字段为空,这会跳过验证规则,但最好确保按照您的顺序订购规则希望/需要他们进行评估(它使代码更具可读性)。

{{1}}