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

Codeigniter表单验证:验证规则的顺序,codeigniter,validation,Codeigniter,Validation,我有这样的表单验证规则 $this->form_validation->set_rules('name', 'Name', 'trim|required|strip_tags|xss_clean|callback__name_check'); 现在,如果任何人输入或等效项(空标记),结果将为空,但不知何故,所需规则也将通过,从而在插入数据库时产生空名称 我可以在插入之前做一个额外的检查,但我想知道在CI中是否有办法防止这种情况发生 谢谢尝试删除带标签规则(不出现在codeignit

我有这样的表单验证规则

$this->form_validation->set_rules('name', 'Name', 'trim|required|strip_tags|xss_clean|callback__name_check');
现在,如果任何人输入

或等效项(空标记),结果将为空,但不知何故,所需规则也将通过,从而在插入数据库时产生空名称

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


谢谢

尝试删除带标签规则(不出现在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

尝试删除带标签规则(不出现在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

您是否尝试过在此规则中切换
required
strip\u标签

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

您是否尝试过在此规则中切换
required
strip\u标签

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

我很确定我试过了,但没用,但现在我改变了规则的顺序,它就起作用了!:)谢谢你也应该在xss_清洁后移动它。不幸的是,我相信xss_clean插入“[removed]”,也许您可以将其设置为空字符串或其他内容。我非常确定我尝试了它,但没有任何效果,但现在在我更改了规则的顺序后,它工作了!:)谢谢你也应该在xss_清洁后移动它。不幸的是,我相信xss_clean插入“[removed]”,也许你可以将其设置为空字符串或其他什么。不好,因为它传递了

,当我将其转换为slug时,slug将是空的,因为我正在使用url_title对其进行slug。不好,因为它传递了
,当我将其转换为slug时,slug将为空,因为我正在使用url\u title来slug它。