Подтвердите с Zend_Validate_Date по временной строке
Привет всем, я пытаюсь проверить поле времени с помощью Zend Framework.
Документы, кажется, указывают, что следующее:
$tstarttime = $form->createElement('text','t_start_time');
$tstarttime->setRequired(true)
->setLabel('Start Time')
->addValidator(new Zend_Validate_Date('H:i'));
Я пробовал это, но не повезло. Любые идеи или альтернативные способы проверки времени в формате HH:MM (H:i в php)
Спасибо всем!
3 ответа
Попробуй это
$tstarttime = $form->createElement('text','t_start_time');
$tstarttime->setRequired(true)
->setLabel('Start Time')
->addValidator(new Zend_Validate_Date(array("format" => 'H:i')));
55:55 не является допустимым временем, если предполагается, что оно указано в часах: минутах, а не минутах: секундах. Есть только 24 часа в один день. кроме этого, ваш пример должен работать.
Я думаю, что вы можете проверить с помощью Regex (ZF2) .
public static function isValidTime($time){
$validator = new \Zend\Validator\Regex ( '/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/' );
return $validator->isValid ( $time );
}
Выражение регулярного выражения: http://www.mkyong.com/regular-expressions/how-to-validate-time-in-24-hours-format-with-regular-expression/