Codeigniter表单验证:验证规则的顺序

时间:2012-07-19 13:42:07

标签: codeigniter validation

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

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

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

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

由于

2 个答案:

答案 0 :(得分:4)

您是否尝试在此规则中切换requiredstrip_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