1

我有一个类似这样的表单验证规则

$this->form_validation->set_rules('name', 'Name', 'trim|required|strip_tags|xss_clean|callback__name_check');

现在,如果有人输入<p></p>或等效(空标签),结果将为空,但不知何故,所需的规则也会通过,导致插入数据库时​​名称为空。

我可以在插入之前进行额外检查,但我想知道 CI 中是否有办法防止这种情况发生?

谢谢

4

2 回答 2

4

您是否尝试过切换requiredstrip_tags遵守此规则?

$this->form_validation->set_rules('name', 'Name', 'trim|strip_tags|required|xss_clean|callback__name_check');
于 2012-07-19T13:52:38.187 回答
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
于 2012-07-19T13:52:36.697 回答