Функция form_errors
Функция form_errors используется в Twig-шаблонах
для вывода ошибок валидации формы. Первым параметром
передаётся переменная формы или отдельного поля формы.
Функция возвращает HTML-разметку со списком ошибок.
Если ошибок нет, возвращается пустая строка.
Синтаксис
{{ form_errors(form) }}
Пример
Давайте создадим форму с полем title
и выведем ошибки формы в шаблоне:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Form\Extension\Core\Type\FormType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Routing\Attribute\Route;
use Symfony\Component\Validator\Constraints\NotBlank;
class ArticleController extends AbstractController
{
#[Route('/article', name: 'article_form')]
public function form(): Response
{
$builder = $this->createFormBuilder();
$builder->add('title', TextType::class, [
'constraints' => [
new NotBlank(),
],
]);
$builder->add('save', SubmitType::class);
$form = $builder->getForm();
return $this->render('article/form.html.twig', [
'form' => $form,
]);
}
}
?>
Теперь выведем ошибки формы в Twig-шаблоне:
{{ form_errors(form) }}
{{ form_start(form) }}
{{ form_row(form.title) }}
{{ form_row(form.save) }}
{{ form_end(form) }}
Пример
Давайте выведем ошибки не всей формы,
а только отдельного поля title:
{{ form_start(form) }}
{{ form_errors(form.title) }}
{{ form_row(form.title) }}
{{ form_row(form.save) }}
{{ form_end(form) }}
Результат выполнения кода при пустом поле:
<ul>
<li>This value should not be blank.</li>
</ul>
Смотрите также
-
функция
field_errors,
которая выводит ошибки отдельного поля формы -
функция
form_row,
которая выводит строку формы целиком -
функция
form_label,
которая выводит подпись поля формы -
метод
getErrors,
который возвращает ошибки формы в PHP