Zend 日期验证器因格式 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',即使它显然不符合格式。

谁能指出为什么会这样?

注意:这是 zend 1。

ZF-7583: Zend_Date::isDate accepts invalid dates 中存在错误。这就是为什么有些日期显示正确的原因。最好对其使用正则表达式验证。

您可以检查这个 post 的正则表达式 Regex to validate date format dd/mm/yyyy