I am using the following code to get all the errors in a form:
// get all the errors in the form in an array
public static function getErrorMessages(\Symfony\Component\Form\Form $form) {
$errors = array();
// actual errors
foreach ($form->getErrors() as $key => $error) {
$errors[] = $error->getMessage();
}
// find children that are not valid
if ($form->count()>0) {
foreach ($form->all() as $child) {
if (!$child->isValid()) {
$errors[$child->getName()] = formHelper::getErrorMessages($child);
}
}
}
That works. The only issue is for FOSUser: I’ve defined my validation group and the errors aren’t getting translated. Instead of getting “The password is too short” I am getting “fos_user.password.short”. The issue is with the line:
$errors[] = $error->getMessage();
That does not translate the error. Anybody could help me out figure out this issue?
You should use translator service to translate messages
Try this: