Проблема с Typo3 Extbase: при ошибке проверки значения возвращаются пустыми - PullRequest
0 голосов
/ 02 мая 2011

У меня текучий шаблон на typo3 с формой, и проверка в моей модели расширения с аннотациями, например,

@validate StringLength(minimum=3, maximum=50)

, если форма сгенерировала ошибку, тогда extbase отобразит ошибку на моей форме.вот так.потому что входные данные в моей форме пусты после возврата.если я отлаживаю объект, это тоже пусто.

Это моя функция в моем контроллере:

public function standardAction() {
}

И это моя форма в моем standard.html шаблоне:

action="standardcreate" name="newStandard" object="{newStandard}" 
  method="post" enctype="multipart/form-data">

{newStandard} тоже пусто?Почему?

Я верну значения моей формы.

1 Ответ

1 голос
/ 14 мая 2011

Эй, во-первых, как вы собираете данные и проверяете свою модель?

Лучший способ справиться с этим с двумя действиями, оба имеют объект $ myModel в качестве аргумента, первый отображает форму и имеет аннотацию @dontvalidate в действии, второй - для сохранения данных, если проверка прошла успешно. Ваша форма должна иметь второе действие в качестве цели.

Итак, что Extbase делает в этом случае: formdata переходит ко второму действию и пытается выполнить проверку, проверка завершается неудачно, потому что вы предоставили неверные данные, но extbase также отправляет действие, которое отображает форму внутри, и передает его обратно. действие. Поскольку это первое действие имеет аннотацию @donotvalidate, оно примет модель с «неправильными» значениями, поэтому вы можете передать ее обратно в шаблон.

...