我正在使用以下代码来获取表单中的所有错误:
// 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);
}
}
}
这样可行。唯一的问题是 FOSUser:我已经定义了我的验证组并且错误没有得到翻译。我没有得到“密码太短”,而是得到“fos_user.password.short”。问题在于这一行:
$errors[] = $error->getMessage();
这不会翻译错误。任何人都可以帮我解决这个问题吗?