在Codeigniter中设置错误消息

时间:2015-07-06 17:20:08

标签: php codeigniter

我正在使用form_validation配置文件来设置验证规则,但是也可以在那里设置错误消息吗?我尝试设置一个关联数组,但它不起作用。验证本身有效,但它说:

  

“无法访问与您的字段名称用户名对应的错误消息。”

array(
        'field' => 'username',
        'label' => 'Username',
        'rules' => 'trim|required|alpha_numeric_dash_space|min_length[4]|max_length[25]|is_unique[User.username]',
        array(
            'required' => 'You have not provided a {field}',
            'is_unique' => 'This {param} already exists',
            'alpha_numeric_dash_spaces' => 
              'The {field} may only contain alphanumeric characters, underscores, dashs, and spaces'
        )
    )

或者我是否必须在控制器中手动设置错误消息?

1 个答案:

答案 0 :(得分:0)

您收到该消息的原因是CodeIgniter正在查找form_validation_lang.php并且没有匹配您的规则中的任何内容。

据我所知,你唯一的选择就是在application > language > ** language ** > form_validation_lang.php创建一个新文件,然后按照以下格式添加你的邮件,CodeIgniter应该把它们拿起来。

我没有测试过,但是如果这不起作用 - 虽然我很确定它会 - 然后在system > language > ** language ** > form_validation_lang.php添加额外的行,例如:

$lang['alpha_numeric_dash_spaces'] = 'The {field} may only contain alphanumeric characters, underscores, dashs, and spaces';

或者您在控制器中手动设置消息:

$this->form_validation->set_message('alpha_numeric_dash_spaces', 'The {field} may only contain alphanumeric characters, underscores, dashs, and spaces');