如何在控制器中使用{ci_form_validation field ='title'error ='true'}?
我有这段代码
$this->load->library('form_validation');
$this->form_validation->set_rules('title', $this->lang->line('title'), 'trim|required|min_length[3]|xss_clean');
$this->form_validation->set_rules('fahad', $this->lang->line('blog'), 'trim|required|min_length[20]|xss_clean');
$this->form_validation->set_rules('writer', $this->lang->line('writer'), 'trim|required|alpha_dash|min_length[3]|xss_clean');
我想在控制器中打印错误消息因为我正在使用jquery。
答案 0 :(得分:5)
使用用户指南
echo form_error('field_name');
EDITED
好的尝试
echo validation_errors();
这将为您提供每个错误,之后您可以得到您想要的内容
答案 1 :(得分:1)
实际上,开箱即用的CodeIgniter无法做到这一点。但是,扩展原始表单验证库非常容易。
在您的应用程序/库文件夹中创建一个名为“MY_Form_validation.php”的文件
将以下代码添加到application / libraries / MY_Form_validation.php
class MY_Form_validation extends CI_Form_validation {
public function __construct() {
parent::__construct();
}
/**
* Return all validation errors
*
* @access public
* @return array
*/
function get_all_errors() {
$error_array = array();
if (count($this->_error_array) > 0) {
foreach ($this->_error_array as $k => $v) {
$error_array[$k] = $v;
}
return $error_array;
}
return false;
}
}
然后从您的控制器:
echo "<pre>";
print_r($this->form_validation->get_all_errors());
echo "</pre>";