我创建了从CI_Form_validation类扩展的My_Form_validation类。
我创建了一个自定义方法来验证带有空格的字符串,并且正常工作。但是,现在我需要验证数据库中是否存在id。
所以我在My_Form_validation中创建了一个方法来检查它,但不起作用,验证总是返回false:
My_Form_validation
Sum the values as set it as a simple Property as retrieving regular from database
验证规则
class My_Form_validation extends CI_Form_validation {
public function get_error_array(){
return $this->_error_array;
}
public function alpha_space($value){
$str = str_replace(" ", "", $value);
return ctype_alpha($str);
}
public function entity_exist($id){
return true;
}
}
为什么Codeigniter没有从验证类中捕获验证器?我不想在控制器中使用验证器方法。
有什么想法吗?
答案 0 :(得分:0)
我认为您没有制作CI
function __construct() {
parent::__construct();
// reference to the CodeIgniter super object
$this->CI =& get_instance();
}
并设置验证规则,如
$this->CI->form_validation->set_message('email_check', 'The %s is not valid.');
答案 1 :(得分:0)
You can Use like this
create form_validation.php file in config folder.
$config = array(
'entity_report' => array(
array(
'field' => 'id',
'label' => 'ID',
'rules' => 'required|min_length[2]'
)
)
);
insert this line in autoload.php
$autoload['config'] = array('form_validation');
if ($this->form_validation->run('entity_report') == FALSE) {
Your code here.
} else {
your code here.
}