我有类似这样的表单验证规则
$this->form_validation->set_rules('name', 'Name', 'trim|required|strip_tags|xss_clean|callback__name_check');
现在,如果有人输入<p></p>
或等效的(空标签),结果将为空,但不知何故必需的规则也会传递,导致插入数据库时出现空白名称。
我可以在插入之前做一个额外的检查,但我想知道在CI中是否有办法防止这种情况发生?
由于
答案 0 :(得分:4)
您是否尝试在此规则中切换required
和strip_tags
?
$this->form_validation->set_rules('name', 'Name', 'trim|strip_tags|required|xss_clean|callback__name_check');
答案 1 :(得分:0)
尝试删除strip_tags规则(未出现在codeigniter用户指南中)并尝试使用:
$this->form_validation->set_rules('name', 'Name', 'trim|required|prep_for_form|xss_clean|callback__name_check');
我认为这对你有用
用户指南说:
prep_for_form
Converts special characters so that HTML data can be shown in a form field without breaking it.
http://codeigniter.com/user_guide/libraries/form_validation.html