Подтвердите с Zend_Validate_Date по временной строке - PullRequest
2 голосов
/ 19 июля 2010

Привет всем, я пытаюсь проверить поле времени с помощью Zend Framework.

Документы, похоже, указывают на следующее:

$tstarttime =  $form->createElement('text','t_start_time');
$tstarttime->setRequired(true)
    ->setLabel('Start Time')
    ->addValidator(new Zend_Validate_Date('H:i'));

Я пробовал это, но не повезло. Любые идеи или альтернативные способы проверки времени в формате ЧЧ: ММ (Ч: i в php)

Спасибо всем!

Ответы [ 3 ]

3 голосов
/ 03 сентября 2010

Попробуйте это

 $tstarttime =  $form->createElement('text','t_start_time');
 $tstarttime->setRequired(true)
      ->setLabel('Start Time')
      ->addValidator(new Zend_Validate_Date(array("format" => 'H:i')));
1 голос
/ 09 декабря 2011

55: 55 не является допустимым временем, если предполагается, что оно указано в часах: минутах, а не минутах: секундах. в один день только 24 часа. кроме того, ваш пример должен работать.

0 голосов
/ 04 февраля 2015

Я думаю, что вы можете проверить с помощью 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/

...