2013-02-18 5 views
2

Я использую тип формы коллекции, где у детей есть тип ввода даты и времени как один текст. Но когда я представить данные проверки не удается, и getErrorsAsString показывает эту странную ошибку:Ошибка проверки типа даты datetime

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

На самом деле это происходит из-за неверной даты форматирования (когда вы используете другой формат, который может появиться, если вы, например, задали другой часовой пояс или локаль). В результате вы должны указать параметры date_format для поля datetime.

В моем случае, это решить вопрос:

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

"error_bubbling" property of the "date" and the "time" field установлен в true, таким образом, ошибки на этих полях пузыря и прикрепляются к полю даты и времени вместо этого.

Вы правы, что сообщение об ошибке не очень полезно (есть в open ticket for that), но вы можете отлаживать проблему, напечатав $exception переменной в block that catches the TransformationFailedException порожденного DataTransformer (form.php: 611). Исключение содержит подробное описание ошибки, которое скрыто от конечного пользователя в целях безопасности.

Смежные вопросы