来自时间戳字段的CakePHP日期验证

时间:2011-05-31 10:15:18

标签: php validation cakephp date

我正在使用带有MySQL数据库的CakePHP 1.3.10。

字段event_date在MySQL中的类型为“timestamp”。 伟大的自动形式元素助手给了我一个很好的下拉菜单。

echo $form->input('event_date'); 

问题是,我注意到用户仍然可以输入无效的,不存在的日期,例如6月31日。

好的,我想......让我们破解验证规则。问题是,输入表单将数据放入数组([month] => '31',[day] =>'06',[year] =>'2011','[hour]'..等等。

默认验证规则似乎只适用于字符串...在这种情况下如何验证? 我想留在CakePHP框架内,我还是有点新鲜。我只是在寻找一个额外的规则来添加到我已设置的'notempty'规则中:

 'event_date' => array(
        'rule' => 'notEmpty',
        'message' => 'Please enter a valid date for this event'
    ),

我在CakePHP文档中查看过,但找不到任何有用的东西。似乎有点奇怪,我必须在验证自动生成的表单字段的输入时遇到很多麻烦。

1 个答案:

答案 0 :(得分:0)

检查

http://book.cakephp.org/view/1159/date

用于日期验证规则。这应该有效。

当然,这不会检查6月是否有31天,但是如果此日期不存在,则应提供错误消息。