我正在使用CakePHP 1.3.10與MySQL數據庫。從時間戳字段CakePHP日期驗證
字段event_date在MySQL中的類型爲「timestamp」。 偉大的automagic表單元素幫手給了我一個很好的下拉菜單。
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的文檔中左顧右盼,卻找不到任何有用的東西似乎有點不可思議,我不得不遇到很多麻煩以驗證自動生成的表單字段的輸入。
您可能會想要查看自定義驗證規則:http://book.cakephp.org/#!/view/1179/Custom-Validation-Rules – Mike 2011-05-31 10:17:44
CakePHP具有內置[日期](http:///book.cakephp.org/view/1159/date)數據驗證類型?我沒有使用它,所以我不確定它是否適用於你的情況。你也可以試用[範圍](http://book.cakephp.org/view/1176/range) – Ross 2011-05-31 10:22:03
@Ross:它與日期驗證類型我有問題。該語法似乎只接受正確的驗證字符串,我有一個數組。我不知道該如何去處理和在這些數據規則的上下文中使用String,並且它似乎有點延伸... – 2011-05-31 10:23:12