CakePHP如何覆盖已声明的模型验证错误消息?

时间:2013-05-30 23:50:34

标签: validation cakephp model-view-controller

只有在模型中不存在新消息时,我才能成功地将新消息放入视图文件中。我的意思是验证必须在模型中,但附加到那些验证的消息不应该在那里。

示例模型

public $validate = array(
        'username' => array(
            'required' => array(
                'rule' => array('notEmpty'),
                'required' => true, 'allowEmpty' => false,
                'message' => 'Please enter a username.'),
            'alpha' => array(
                'rule' => array('alphaNumeric'),
                'message' => 'The username must be alphanumeric.'),
            'unique_username' => array(
                'rule'=>array('isUnique', 'username'),
                'message' => 'This username is already in use.'),
            'username_min' => array(
                'rule' => array('minLength', '3'),
                'message' => 'The username must have at least 3 characters.')),
        'email' => array(
            ...................
            ...................

这是视图的一个例子

echo $this->Form->input('username',array(
            'label' => __d('app_users','Username'),
            'error' => array(
                'required' => __d('app_users', 'Please enter a username'),
                .....................
                .....................
        ));

所以,我的问题是,如何在不删除模型中的'message' => 'Please enter a username.'的情况下将其转化为作品,而不是真正覆盖它。

1 个答案:

答案 0 :(得分:0)

  

我的意思是验证必须在模型中,但附加到这些验证的消息不应该存在。

那么你如何获得JSON API服务的消息呢?验证中包含的文本与您的网站外观无关,因此不应该在视图中。

您可以在book

中更改模型或自定义验证方法中的验证消息,而不会有太多麻烦