Подтвердите с 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/

Другие вопросы по тегам