在Codeigniter中表单验证失败时,无法显示自定义错误消息

时间:2014-11-05 17:19:10

标签: php codeigniter

不确定我缺少什么,在Codeigniter中表单验证失败时无法显示自定义错误消息 这是我的控制器代码:

$this->form_validation->set_rules('day', 'Day', 'required|is_natural_no_zero|xss_clean');
$this->form_validation->set_message('day', 'Error in Day');

但它仍显示默认错误消息“Day字段必须包含大于零的数字。”
而不是默认的错误消息,我想显示此自定义消息“在一天中的错误”我怎么能这样做?感谢

1 个答案:

答案 0 :(得分:2)

您可以为规则设置自己的消息,而不是为字段设置... 例如,根据您的规则,您可以这样做:

$this->form_validation->set_rules('day', 'Day', 'required|is_natural_no_zero|xss_clean');
$this->form_validation->set_message('required', 'My custom message for required fields');
$this->form_validation->set_message('is_natural_no_zero', 'My custom message for is_natural_no_zero fields');

参考:https://www.codeigniter.com/user-guide/libraries/form_validation.html#settingerrors

如果要单独显示字段的错误,请使用form_error函数......如下所示:

<h5>Email Address</h5>
<?php echo form_error('email') != "" ? "My custom error" : ""; ?>
<input type="text" name="email" />

参考:https://www.codeigniter.com/user-guide/libraries/form_validation.html#individualerrors