Функция field_errors
Функция field_errors используется в Twig-шаблонах
для вывода ошибок валидации конкретного поля формы.
Первым параметром передаётся объект поля формы,
вторым - необязательный параметр с настройками вывода.
Функция возвращает HTML-разметку с сообщениями об ошибках.
Синтаксис
{{ field_errors(field, parameters) }}
Пример
Давайте создадим форму с полем title и выведем ошибки этого поля в шаблоне:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
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 as Assert;
class ArticleController extends AbstractController
{
#[Route('/article', name: 'article_form')]
public function form(): Response
{
$builder = $this->createFormBuilder();
$builder->add('title', TextType::class, [
'constraints' => [
new Assert\NotBlank(),
new Assert\Length(min: 3),
],
]);
$builder->add('save', SubmitType::class);
$form = $builder->getForm();
return $this->render('article/form.html.twig', [
'form' => $form,
]);
}
}
?>
Теперь выведем ошибки поля title в Twig-шаблоне:
{{ form_start(form) }}
{{ form_row(form.title) }}
{{ field_errors(form.title) }}
{{ form_row(form.save) }}
{{ form_end(form) }}
Если поле пустое, результат выполнения кода будет содержать:
<ul>
<li>This value should not be blank.</li>
</ul>
Пример
Давайте выведем ошибки поля с дополнительными атрибутами через второй параметр:
{{ field_errors(form.title, {
'attr': {'class': 'error-list'},
'label': 'Title errors'
}) }}
Результат выполнения кода:
<ul class="error-list">
<li>This value should not be blank.</li>
</ul>
Смотрите также
-
функция
form_errors,
которая выводит все ошибки формы -
функция
field_label,
которая выводит метку поля -
функция
field_help,
которая выводит подсказку поля -
функция
field_value,
которая выводит значение поля