form_validation验证后,validation_errors()会返回错误信息,不过是经过字符转换的,形式如下
<p>username is required.</p> <p>password is required.</p>
在前端这些错误信息会并排显示,可是我想对应input框架下面显示,类似这样

因此需要获取form_validation的error_array,而不是error_string
查看validation_errors的源代码,找到以下函数
/** * Get Array of Error Messages * * Returns the error messages as an array * * @return array */ public function error_array() { return $this->_error_array; }
就是它啦,在自己的helper类中添加一个方法调用这个error_array即可,具体调用可参考validation_errors()的方法,这个方法在system/helpers/form_helper.php中,代码如下
if ( ! function_exists('form_error_array')) { function form_error_array() { if (FALSE === ($OBJ =& _get_validation_object())) { return ''; } // 获取error_array数组 return $OBJ->error_array(); } }
在view中就可以通过form_error_array()方法获取表单验证错误信息的数组,然后根据数组的key,显示到具体的input框下面
Leave a Reply