2015-12-11 48 views
0

我想比較規則中的兩個日期。
當我在start_dateend_date中輸入日期和時間時,出現錯誤消息「結束必須大於或等於開始」 start_date和end_date是日期時間字段。 我正在尋找解決方案。比較規則中的兩個日期yii2

return [ 
     ['end_date', 'date', 'format' => 'php:Y-m-d H:i:s', 'skipOnEmpty' => false], 
     ['start_date', 'date', 'format' => 'php:Y-m-d H:i:s', 'skipOnEmpty' => false], 
     ['end_date', 'compare', 'compareAttribute' => 'start_date', 'operator' => '>='], 
    ]; 
+0

那是你的問題中的一個錯字然後,因爲那裏的操作符是>,不是> = –

+0

沒有錯別字,我比較日期和時間。至end_date必須更高。 – Hans

+0

那麼我不明白你的問題,如果你輸入開始和結束日期相同的日期,就像你在你的問題中說的那樣,那麼你的驗證工作正常 –

回答

1
[ 'endDate', 'compareDate', 'compareAttribute' => 'startDate', 'operator' => '>=', 'type' => 'datetime', 'message' => 'Invalid Date' ], 
+3

你能解釋一下這是什麼嗎? – tversteeg

-1
  [ 'endDate', 'compare', 'compareAttribute' => 'startDate', 'operator' => '>=', 'type' => 'datetime', 'message' => 'endDate must be after staartDate' ], 

這應該在Yii2工作。該規則將2個屬性作爲日期進行比較。