对于dd-mm-yyyy格式,结束日期验证器失败


Zend date validator fail for format dd-mm-yyyy

我有以下代码:

<?php
  $dateString = '12.12.12';
  $dateCheckArray['format'] = 'dd-mm-yyyy';
  $validator = new Zend_Validate_Date($dateCheckArray);
  if ($validator->isValid($dateString)) {
      echo 'valid';
  }
  else {
      echo 'invalid';
  }

对于大多数格式都可以正常工作,但是对于指定的格式,当使用。日期而不是-日期。

例如,对于之前指定的日期(12.12.12),脚本将回显'valid',即使它显然不适合格式。

谁能指出为什么会发生这种情况?

ZF-7583有一个bug: Zend_Date::isDate接受无效日期。这就是为什么有些日期显示正确。最好使用正则表达式验证。

你可以查看这篇文章的正则表达式来验证日期格式dd/mm/yyyy