2011-05-31 67 views
0

我正在使用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的文檔中左顧右盼,卻找不到任何有用的東西似乎有點不可思議,我不得不遇到很多麻煩以驗證自動生成的表單字段的輸入。

+0

您可能會想要查看自定義驗證規則:http://book.cakephp.org/#!/view/1179/Custom-Validation-Rules – Mike 2011-05-31 10:17:44

+0

CakePHP具有內置[日期](http:///book.cakephp.org/view/1159/date)數據驗證類型?我沒有使用它,所以我不確定它是否適用於你的情況。你也可以試用[範圍](http://book.cakephp.org/view/1176/range) – Ross 2011-05-31 10:22:03

+0

@Ross:它與日期驗證類型我有問題。該語法似乎只接受正確的驗證字符串,我有一個數組。我不知道該如何去處理和在這些數據規則的上下文中使用String,並且它似乎有點延伸... – 2011-05-31 10:23:12

回答