Intereting Posts

Zend_Validate_Date просто не работает должным образом

Похоже, что Zend_Validate_Date просто не работает должным образом. Например:

 $validator = new Zend_Validate_Date(array('format' => 'yyyy')); 

Это простой валидатор, который должен принимать только четырехзначный год, но $validator->isValid('1/2/3') возвращает true! Действительно, Зенд?

Или как насчет этого:

 $otherValidator = new Zend_Validate_Date(array('format' => 'mm/dd/yyyy')); 

Даже с указанным выше кодом $otherValidator->isValid('15/13/10/12/1222') возвращает значение true !

Я использую Zend Framework 1.11.9. Это только я или это действительно ужасный класс проверки? (UPDATE: Другими словами, что-то не так с моим кодом, или это ошибка, которая должна быть отправлена?)

Solutions Collecting From Web of "Zend_Validate_Date просто не работает должным образом"

Как говорится выше, очевидно, есть ошибка с этим классом. Вот обходной путь, с которым я столкнулся, используя Zend_Validate_Regex :

 $validator = new Zend_Validate_Regex( array('pattern' => '/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/') ); $validator->setMessage( "Date does not match the format 'mm/dd/yyyy'", Zend_Validate_Regex::NOT_MATCH ); 

Надеюсь, это поможет кому-то другому. Обратите внимание, что я хочу, чтобы в качестве разделителя были только косые черты, а не точки или тире.