Как применить класс к сообщению об ошибке проверки?

У меня есть простая форма, как это показано в UserType.php исходный код

Кроме того, я использую fosuserbundle, в моем случае, когда я пытаюсь создать пользователя, который уже существует с тем же именем пользователя или пользователя с другим паролем / повторным паролем, появляется новое сообщение проверки.

Вопрос в том : Как применить пользовательский класс CSS / Html к этому сообщению проверки?

UserType.php:

->add('plainPassword', RepeatedType::class, array(

'invalid_message' => 'The passwords must be identical.',

'first_options'  => array('label' => 'Password'),
'second_options' => array('label' => 'Repeate Password'),
)

User.php:

<?php

namespace AppBundle\Entity;

use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\HttpFoundation\File\File;
use Vich\UploaderBundle\Mapping\Annotation as Vich;

/**
* @Vich\Uploadable
* @ORM\Entity
* @ORM\Table(name="fos_user")
* @UniqueEntity(fields="usernameCanonical", errorPath="username", message="fos_user.username.already_used", groups={"Default", "Registration", "Profile"})
* @UniqueEntity(fields="emailCanonical", errorPath="email", message="fos_user.email.already_used", groups={"Default", "Registration", "Profile"})
*/
class User extends BaseUser {

/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*
*/
protected $id;

2

Решение

Вы можете переопределить шаблоны форм по умолчанию, добавив свои собственные в ваш пакет. Примеры этого можно найти Вот (макет по умолчанию) и Вот (Бутстрап).

В вашем случае вам нужно изменить form_errors блок:

{%- block form_errors -%}
{%- if errors|length > 0 -%}
<ul>
{%- for error in errors -%}
<li>{{ error.message }}</li>
{%- endfor -%}
</ul>
{%- endif -%}
{%- endblock form_errors -%}

Чтобы выбрать один такой макет, настройте конфигурацию по желанию:

twig:
form_themes:

# Default:
- form_div_layout.html.twig

# Bootstrap
- bootstrap_3_layout.html.twig

# Your own:
- MyBundle::form.html.twig

(взято из Ссылка на веточку)

Узнайте больше о настройке тем форм на Symfony документы.

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector