【问题标题】:cakePHP validationcakePHP 验证
【发布时间】:2010-12-10 00:52:56
【问题描述】:

我正在开发一个 cakePHP 项目并设置了我的数据验证。我遇到的问题是我不断从 cakePHP 的核心/模型中收到错误。

错误是: 注意 (8):未定义偏移量:0 [CORE/cake/libs/model/model.php,第 2435 行]

                        if (is_array($validator['rule'])) {
                        $rule = $validator['rule'][0];

我的验证规则如下所示:

变量 $ 验证 = 数组( '名称' => 数组( '规则' => 数组('maxLength' => 80), '必需' => 真的, '消息' => '请输入您的姓名' ), '地址1' => 数组( '规则' => 数组('maxLength' => 80), '必需' => 真的, 'message' => '你忘记了你的地址' ), '地址2' => 数组( '规则' => 数组('maxLength' => 80), 'message' => '你的地址不能这么长吗? ), '城市' => 数组( '规则' => 数组('maxLength' => 80), '必需' => 真的, 'message' => '你的城市不可能那么长?' ), 'zip' => 数组( '规则' => 数组('邮政',空,'我们'), '必需' => 真的, 'message' => '您的邮政编码格式不正确。' ), '电话' => 数组( '规则' => 数组('电话',空,'我们'), '必需' => 真的, 'message' => '您的电话号码格式不正确。' ), '电子邮件' => 数组( '规则' => '电子邮件', '必需' => 真的, 'message' => '请输入有效的电子邮件地址。' ), '座位' => 数组( '规则' => '数字', '必需' => 真的, 'message' => '你忘了告诉我们你需要多少个座位。如果您不参加,请输入零 (0)' ), 'seat_with' => 数组( '规则' => 数组('maxLength' => 80), 'message' => '请将此字段保持在 80 个字符以下。' ), 'cc_name' => 数组( '规则' => 数组('maxLength' => 80), '必需' => 真的, 'message' => '你忘记了什么吗? ), 'cc_number' => 数组( '规则' => 数组('cc', 'all', false, null), '必需' => 真的, 'message' => '您的信用卡号码格式不正确。' ), 'cc_expiration' => 数组( '规则' => 数组('日期','我的'), '必需' => 真的, 'message' => '正确答案将采用以下格式 MM/YYYY' ), 'cc_cvv' => 数组( '规则' => '数字', '必需' => 真的, 'message' => '请只输入数字。' ) );

非常感谢任何帮助。

【问题讨论】:

    标签: php cakephp


    【解决方案1】:

    您的问题在于规则语法:

    array('maxLength' => 80)
    

    就像你的其他规则一样,它是,,而不是=>array('maxLength', 80)


    顺便说一句,我的城市可以那么长:http://en.wikipedia.org/wiki/Krung Thep Mahanakhon Amon Rattanakosin Mahinthara... ;-)

    【讨论】:

    • 正是我需要的。感谢 deceze 真是一个菜鸟的错误。我还将增加城市名称的大小。 =)
    • 当您使用它时,您可能会在“zip”和“phone”的消息中将“corect”的拼写更正为“correct”。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-21
    • 2011-07-07
    相关资源
    最近更新 更多