我有一个类似这样的表单验证规则
$this->form_validation->set_rules('name', 'Name', 'trim|required|strip_tags|xss_clean|callback__name_check');
现在,如果有人输入<p></p>
或等效(空标签),结果将为空,但不知何故,所需的规则也会通过,导致插入数据库时名称为空。
我可以在插入之前进行额外检查,但我想知道 CI 中是否有办法防止这种情况发生?
谢谢
我有一个类似这样的表单验证规则
$this->form_validation->set_rules('name', 'Name', 'trim|required|strip_tags|xss_clean|callback__name_check');
现在,如果有人输入<p></p>
或等效(空标签),结果将为空,但不知何故,所需的规则也会通过,导致插入数据库时名称为空。
我可以在插入之前进行额外检查,但我想知道 CI 中是否有办法防止这种情况发生?
谢谢
您是否尝试过切换required
并strip_tags
遵守此规则?
$this->form_validation->set_rules('name', 'Name', 'trim|strip_tags|required|xss_clean|callback__name_check');
尝试删除 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