【问题标题】:Cakephp Localized Validation is not workingCakephp 本地化验证不起作用
【发布时间】:2014-04-28 20:42:06
【问题描述】:

好吧...我觉得这里真的很愚蠢,但是有人可以帮我指出我做错了什么吗?

我的模型包含以下验证规则:

public $validate = array(
    'nome_completo' => array(
        'lettersandspaces' => array(
            'rule' => 'latinChars',
            'message' => 'Por favor, entre seu nome completo.',
        ),
        'notEmpty' => array(
            'rule' => array('notEmpty'),
            'message' => 'Por favor, entre seu nome completo.',
        )
    ),
    'cpfcnpj' => array(
            'rule' => array('ssn',null,'br'),
            'required' => true,
            'message' => 'CPF Inválido!' 
    ),
    'email' => array(
        'email' => array(
            'rule' => array('email'),
            'message' => 'Por favor, entre um e-mail válido.',
        ),
        'notEmpty' => array(
            'rule' => array('notEmpty'),
            'message' => 'O e-mail é um campo obrigatório.',
        )
    )       
);

我正在调用 App::uses('BrValidation', 'Localized.Validation');刚开始,但是BR版的SSN检查好像没有调用...

我什至放了一些调试信息来检查代码是否正在执行,但是没有调试记录...就好像它被Cake完全忽略了...

我正在使用 Cake 2.4.1...任何帮助将不胜感激。

谢谢!

【问题讨论】:

    标签: cakephp cakephp-2.4


    【解决方案1】:

    请在所选答案下阅读我的cmets...

    我最终使用 jQuery 进行 SSN(巴西的“CPF”)验证,它可以工作并且是客户端,所以它保存了一个 HTTP 请求。

    关于 App::uses 的好点...将对其进行调查以确保路径正常,但由于包位于标准位置,因此我对那里的期望并不高。

    【讨论】:

    • 当然可以使用 Jquery,但这并不能回答原始问题。
    【解决方案2】:

    请注意,如果找不到文件/类,App::uses 不会引发错误。

    尝试在App::uses 行之后添加调试:

    debug(BrValidation::ssn('test'));
    

    如果您收到Class 'BrValidation' not found 错误,那么您就知道它没有找到该文件。

    【讨论】:

    • Localized.Validation 是一种“标准”Cake 包,社区维护它以扩展那些“基本”验证规则(例如“ssn”)。记住App::uses 在找不到文件时不会抱怨,但情况似乎并非如此,因为包位于标准位置。
    猜你喜欢
    • 2014-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多