2013-02-18 22 views
2

我正在使用集合表單類型,其中子項具有日期時間類型輸入作爲單個文本。但是,當我在確認提交數據失敗,並getErrorsAsString顯示了這種奇怪的錯誤:表單日期時間類型驗證錯誤

inputDateTime: 
     ERROR: This value is not valid. 
     date: 
      No errors 
     time: 
      No errors 

這裏是我加我場

//form child 
$builder->add('inputDateTime', 'datetime', array(
    'date_widget' => 'single_text', 
    'time_widget' => 'single_text' 
)); 

爲什麼inputDateTime有錯誤,但既沒有日期或時間有錯誤?我的語言環境已設置,我嘗試添加日期格式,但沒有幫助。

回答

1

事實上,它似乎是由於格式日期無效(當您使用不同的格式,例如在設置其他時區或區域設置時可能出現的格式)。因此,您必須爲datetime字段指定date_format選項。

在我的情況,這解決了問題:

'date_format' => 'dd/MM/yyyy', 
2

"error_bubbling" property of the "date" and the "time" field設爲true,從而錯誤的那些字段冒泡並連接到日期時間字段代替。

你是正確的,錯誤信息是不是非常有幫助的(有一個open ticket for that),但你可以通過打印在由DataTransformer(form.php的:611)所產生的block that catches the TransformationFailedException$exception變量調試問題。該例外包含詳細的錯誤描述,爲了安全目的,該描述對最終用戶是隱藏的。