我有两个字段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');
}