【发布时间】:2021-06-18 07:12:42
【问题描述】:
我试图扩展 codeigniter(3.1.11) form_validation 库以添加我自己的验证规则。
下面是application/libraries/MY_Form_validation.php写的代码。
defined('BASEPATH') OR exit('No direct script access allowed');
class MY_Form_validation extends CI_Form_validation
{
protected $CI;
public function __construct($rules = array())
{
parent::__construct($rules);
// Assign the CodeIgniter super-object
$this->CI =& get_instance();
}
public function snExists($sn){
if (empty($sn)) {
$this->CI->form_validation->set_message('snExists', '{field} is required');
return FALSE;
}else{
$query = $this->CI->db->query("SELECT `sn` FROM `employee` WHERE `sn` = '$sn';");
$numrows = $query->num_rows();
if ($numrows > 0) {
return TRUE;
}else{
$this->CI->form_validation->set_message('snExists', '{field} does not exist');
return FALSE;
}
}
}
}
我面临的问题是,当我提交空字段时,验证不会返回 FALSE。
不知何故,if(empty($sn)) 不满意,else 被执行。
希望有人能帮忙。谢谢。
【问题讨论】: