Изменение сообщения @danneth, чтобы принять время в формате ЧЧ: ММ: СС
public function validate_time($str){
if (strrchr($str,":")) {
list($hh, $mm, $ss) = explode(':', $str);
if (!is_numeric($hh) || !is_numeric($mm) || !is_numeric($ss)){
return FALSE;
}elseif ((int) $hh > 24 || (int) $mm > 59 || (int) $ss > 59){
return FALSE;
}elseif (mktime((int) $hh, (int) $mm, (int) $ss) === FALSE){
return FALSE;
}
return TRUE;
}else{
return FALSE;
}
}
* Изменено устаревшее разделение для разнесения
* Добавлено еще одно условие в случае, если параметрполучена строка типа 'aaaaa'
* Изменена проверка формы min_length с 3 до 8 (поэтому убедитесь, что введены 8 символов из ЧЧ: ММ: СС):
$this->form_validation->set_rules('time','Time','required|trim|min_length[8]|max_length[8]|callback_validate_time');