如何验证多个字段并在代码点火器中显示一个错误


how to validate more than one field and display one error in codeigniter?

我有两个字段from和to。

   $this->form_validation->set_rules($time_am,'AM Time','required');
   $this->form_validation->set_rules($time_pm,'PM Time','required');

我不想单独验证。如果任何一个或两个都为空,则必须验证"AM和PM时间字段是必需的"。

在DB中,我是这样存储的。

        $time_am    = $this->input->post('time_am');
        $time_pm    = $this->input->post('time_pm');
        if(empty($time_am) || empty($time_pm))
        {
            $time  = "NULL";    
        }
        else
        {
            $time   = $time_am." - ".$time_pm;
        }

您只需要执行此

if( ! empty($time_am) ){
    $this->form_validation->set_rules($time_am,'AM Time','trim|required|callback_valid_time');
}
else{
    $this->form_validation->set_rules($time_pm,'PM Time','trim|required|callback_valid_time');
}
if ($this->form_validation->run() === FALSE){
    ...
}
else{
    ...
}

终于找到了问题的答案。

function check_empty($key)
{
    if(!$key)
    {
        $this->form_validation->set_message('check_empty','both required field');
        return false;
    }
    else
    {
        return true;    
    }
 }

    $time_am    = $this->input->post('time_am');
    $time_pm    = $this->input->post('time_pm');
    if(empty($time_am) && empty($time_pm))
    {
        $this->form_validation->set_rules('time_am','AM Time','trim|callback_check_empty');
    }