Php Codeigniter:如果第一条规则已验证,则无需检查下一条规则
如何检查第一条规则是否有效,则无需检查第二条/第三条规则,例如:Php Codeigniter:如果第一条规则已验证,则无需检查下一条规则,php,codeigniter,validation,Php,Codeigniter,Validation,如何检查第一条规则是否有效,则无需检查第二条/第三条规则,例如: $this->form_validation->set_rules('children','Do you have children?','required');// e.g : answer no! $this->form_validation->set_rules('son','How many sons?','required');//second rule $this->form_valid
$this->form_validation->set_rules('children','Do you have children?','required');// e.g : answer no!
$this->form_validation->set_rules('son','How many sons?','required');//second rule
$this->form_validation->set_rules('daughter','How many daughter?','required');//third rule
它很简单,只需将第一条规则和表单验证后放入
IF
$this->form_validation->set_rules('children','Do you have children?','required');
if ($this->form_validation->run() == FALSE)
{
$this->form_validation->set_rules('son','How many sons?','required');//second rule
$this->form_validation->set_rules('daughter','How many daughter?','required');//third rule
}
如果第一条规则失败,它将检查第二条和第三条规则,否则如果第一条规则被验证,它将不检查第二条和第三条规则
希望它有意义u可以使用codeignitor中的回调函数或在CI核心验证库中添加您自己的规则来实现这一点 下面是我们如何使用回调函数 这就是我们如何拥有自己的自定义验证功能
您可以使用
表单验证
如下
if ($this->form_validation->required($key)){
//validation did not pass
}
其中$key
是$\u POST['children']
或$this->input->POST('children')代码>
真/假表是很抱歉它不起作用,规则不返回真或假,它包含对象:print\r($this->form\u validation->set\u rules('children','you have children?','required'))不返回真或假编辑后,他需要运行两次$this->form\u validation->run()
来验证并传递所有规则。我不喜欢这个主意,但它确实能起作用。@Kyslik他不必运行两次看看他的问题如果第一条规则被验证了,那么它就被理解了你不必检查$this->form\u validation->run()==TRUE
你应该使用else的情况是肯定的验证是真的在这种情况下我不会使用回调
,在这种情况下,@Hermann Golden需要一些东西来处理已经验证过的输入。