在codeigniter中,我在许多控制器中使用了codeigniter表单验证库,
前: -
$ this-> form_validation-> set_rules('rank','Rank','required');
如果表单验证失败,则显示
"The Rank field is required."
这里我想显示自定义消息,我可以遵循的一种方法是
$ this-> form_validation-> set_message('required','%s不能为空');
如果我使用这种方法,那么无论我在哪里使用“必需”表单验证方法,我都需要在每个控制器中重复此代码
我的问题是,有任何方法可以在配置文件中声明此自定义消息,并且每当我使用表单验证规则“必需”时自动使用此自定义消息吗?
答案 0 :(得分:4)
如果您想要永久覆盖错误消息,只需将其硬编码到 form_validation_lang.php 文件中即可。
(位于 system / language / english )
您希望选择扩展form_validation类,添加您自定义的必需函数,并在lang文件中添加相应的错误消息。
例如;
class MY_Form_validation {
public function custom_required($str) {
if ( ! is_array($str)) {
return (trim($str) == '') ? FALSE : TRUE;
} else {
return ( ! empty($str));
}
}
}
然后在lang文件中;
$lang['custom_required'] = "%s can not be blank.";
答案 1 :(得分:1)
来自CI文档本身:
“所有本机错误消息都位于以下语言文件中:language / english / form_validation_lang.php
要设置您自己的自定义消息,您可以编辑该文件,也可以使用以下功能:
$this->form_validation->set_message('rule', 'Error Message');"
http://codeigniter.com/user_guide/libraries/form_validation.html#settingerrors
答案 2 :(得分:0)
class MY_Form_validation extends CI_Form_validation {
public function __construct()
{
parent::__construct();
}
function required_select($input)
{
$this->set_message('required_select','select %s');
return FALSE;
}
}
适合我:)