Tr yerelinde Zend_Validate_Date ile doğrulanıyor YYYY-AA-GG biçimlendirilmiş dizeleri

2 Cevap php

I Zend_Validate::is($value,'Date') ile YYYY-MM-DD biçiminde bir kullanıcının girdiği tarih dizesi doğrulayarak ediyorum.

Bu çağrı, bu hiyerarşi oluşturur:

Zend_Validate::is()
Zend_Validate_Date->isValid()
Zend_Date::isDate()
Zend_Locale_Format::getDate()
Zend_Locale_Format::_parseDate() 

Son olarak, bu istisna ile başarısız:

Zend_Locale_Exception: Unable to parse date '2009-09-08' using 'MMM d, y' (M <> y) in /usr/share/php/Zend/Locale/Format.php on line 1001

Benim uygulama yerel ayar olarak en_US kullanıyorum. Nasıl Zend_Validate bu tarih biçimini kabul etmek yapılandırabilirsiniz? Örneğin tarih yerel biçimini değiştirmek mümkün mü?

2 Cevap

Bunu deneyin:

$validator = new Zend_Validate_Date('YYYY-MM-DD');
if($validator->isValid($value))
    // yay

zend_validate_date Eğer yyyy-MM-dd biçiminde ve bir tarih dizesi 2011-10-11 12312 doğrulama için üzerine geçirilir, eğer false yerine true döndüren aşağıdaki belirtebilirsiniz bir hata vardır!