在时间字符串上使用Zend_Validate_Date进行验证

时间:2010-07-19 10:02:06

标签: php validation zend-framework zend-validate

嘿,我正在尝试使用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 in php)

格式验证时间的想法或替代方法

全部谢谢!

3 个答案:

答案 0 :(得分:3)

试试这个

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

答案 1 :(得分:1)

55:55不是一个有效的时间,如果它应该是几个小时:分钟而不是分钟:秒。一天只有24小时。除此之外,你的榜样应该有用。

答案 2 :(得分:0)

我认为您可以使用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/