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需要一些东西来处理已经验证过的输入。