php – Library中的CodeIgniter验证不接受回调
发布时间:2020-12-13 17:03:43 所属栏目:PHP教程 来源:网络整理
导读:我的问题如下:我正在写一个登录库. 该库有一个函数_validation(),它使用验证库来验证数据. 使用普通的验证方法它可以正常工作,但使用回调函数不起作用.它没有被调用. 我这样称呼它. $this-CI-form_validation-set_rules('user','Username','required|callba
我的问题如下:我正在写一个登录库.
该库有一个函数_validation(),它使用验证库来验证数据. 使用普通的验证方法它可以正常工作,但使用回调函数不起作用.它没有被调用. 我这样称呼它. $this->CI->form_validation->set_rules('user','Username','required|callback__check_user'); 函数名称是_check_user,它使用用户名_check_user($user). 我猜,可能有一个问题因为我不在控制器中工作所以我有一个CI实例$this-> CI而不仅仅是原始实例$this-> 有没有人知道如何解决这个问题? 提前致谢. 解决方法
嘿,我想出了一种对我有用的方法.只需在MY_Form_validation.php中扩展Form_validation库,即可创建自定义验证方法.我认为这是一种干净的方式,它完美无缺.我构建了以下验证方法来检查现有的用户名和密码. $value类似于table_name.fieldname.
我没有设置消息,因此它将使用lang文件中的_exist消息. /** * Exist * * checks if the entry exists in the database * returns a boolean * * @access private * @param string * @param field * @return boolean */ function _exist($str,$value) { list($table,$column) = explode('.',$value,2); $query = $this->CI->db->query("SELECT COUNT(*) AS count FROM $table WHERE $column = '$str'"); $row = $query->row(); return ($row->count > 0) ? TRUE : FALSE; } 谢谢你的帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |