Question

I'm tring to customize error rendering in my form according to this example.

Here is my code:

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

return $error_msg;

but when $this['message'] has error this code returns '<ul></ul>' so it seems foreach ($this['message']->getError() as $error) causes no iterations

$this['message']->getError() returns sfValidatorError object - maybe something changed in symfony 1.4 and it isn't iterable anymore...

At first I thought that all magic in that example happened because of object being placed in $error by iteration implements __toString() but it seems no iterations happens at all...

Was it helpful?

Solution

you should have variable $form which holds the Form that you're displaying, and the code should be $form['message']->hasError() and $form['message']->getError() , where 'message' is a widget in your form. Do not use $this, as it doesn't hold the form in this context.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top