Не удается настроить отображение ошибок при работе в symfony 1.4 - PullRequest
2 голосов
/ 15 апреля 2010

Я пытаюсь настроить отображение ошибок в моей форме согласно этому примеру .

Вот мой код:

if ($this['message']->hasError()) {
  $error_msg = '<ul>';
  foreach ($this['message']->getError() as $error) $error_msg .= "<li>$error</li>";
  $error_msg .= '</ul>';
}

return $error_msg;

но когда $this['message'] имеет ошибку, этот код возвращает '<ul></ul>', поэтому кажется, что foreach ($this['message']->getError() as $error) не вызывает итераций

$this['message']->getError() возвращает sfValidatorError объект - возможно, что-то изменилось в Symfony 1.4, и это больше не повторяется ...

Сначала я подумал, что вся магия в этом примере произошла из-за того, что объект помещен в $error с помощью итераций, реализует __toString (), но, похоже, итераций вообще не происходит ...

1 Ответ

2 голосов
/ 19 апреля 2010

у вас должна быть переменная $ form, которая содержит отображаемую форму, а код должен быть $ form ['message'] -> hasError () и $ form ['message'] -> getError (), где «сообщение» - это виджет в вашей форме. Не используйте $ this, так как он не содержит форму в этом контексте.

...