-1

我正在使用 CodeIngiter 2.1,我想为每个字段的每个规则定义自定义验证错误。字段如下。

array(
'field' => 'firstname',
'rules' => 'required',
    'error' => 'This field cannot be empty.'
),
array(
'field' => 'email',
'rules' => 'required',
    'error' => 'The email cannot be empty.'
)

但是在CodeIgniter一条规则中只定义了一条错误消息。那么如何覆盖那个并请提出一些解决方案来获得特定领域的不同错误。作品更受赞赏。

4

2 回答 2

1

尝试使用 CI 功能:

   set_message();

所有本机错误消息都位于以下语言文件中:

   language/english/form_validation_lang.php

要设置您自己的自定义消息,您可以编辑该文件,或使用以下函数:

   $this->form_validation->set_message('rule', 'Error Message');

在此处了解有关set_message的更多信息

希望它会有所帮助;

于 2013-03-18T11:28:21.377 回答
1

我最近为我的 codeigniter 3.0-dev 应用程序制作了这个自定义错误消息选项。希望这可以帮助那里的任何人。

https://gist.github.com/abdmaster/7287962

要使用它(示例),

$this->form_validation->set_rules('name','Name','required|alpha',array('required' => 'Please fill the field %s .');`

它将与 jamierumbelow 的MY_Model等基本模型一起使用。在您的模型中,您执行以下操作:

public $validate = array(
  'display_name'  => array(
    'field' => 'display_name',
    'label' => 'Display Name',
    'rules' => 'trim|required|xss_clean|valid_fullname|is_unique[users_model.display_name]',
    'error_msg' => array(
      'is_unique'  => 'The name in %s is already being used by someone.',
    ),
  ),
);

休息是我们正常使用的方式。希望这些例子就足够了。

我没有在 v2.1.x 中尝试过,但希望这会奏效。也许必须做一些小的调整。

于 2013-11-03T08:37:04.207 回答