默认情况下,Zend Framework 日期验证器使用日期格式 yyyy-MM-dd
:
$dateValidator = new Zend_Validate_Date();
但我想添加小时和分钟验证。换句话说,我想要求用户输入小时和分钟。但以下不起作用:
$dateValidator = new Zend_Validate_Date('yyyy-MM-dd hh:ii');
如果我输入 2010-02-01
,我会收到一条错误消息,指出日期不符合格式。如果我输入 2010-02-01 3
,它不会提示。它所做的是假设用户的意思是 2010-02-01 03:00
而不是强制用户以给定格式输入日期。
如何强制必须以给定格式输入日期?
最佳答案
请参阅:http://framework.zend.com/issues/browse/ZF-6369
归根结底,格式验证的底层代码无法正常工作。它不会使用严格的验证,而是会尝试将提供的日期强制转换为可以验证的日期,这样您就可以获得方便的结果。
看起来该错误确实已被标记为“主要”,因此希望我们能尽快看到修复。
关于php - 如何在 Zend Framework 表单中创建日期时间验证器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2185608/