userCanonical валидация рядом с именем пользователя с помощью FOSUserBundle и Symfony2 - PullRequest
0 голосов
/ 09 февраля 2012

Я использую Symfony2 и FOSUserBundle.

Если я ввожу имя пользователя или адрес электронной почты в форму регистрации, которая уже есть в базе данных, в верхней части формы регистрации отображается ошибка

Как поместить сообщение об ошибке в поле имени пользователя / электронной почты?

Ответы [ 2 ]

0 голосов
/ 25 января 2013

Если вы установите FOSUserBundle в качестве родителя вашего пакета:

// src/Acme/UserBundle/AcmeUserBundle.php

<?php

namespace Acme\UserBundle;

use Symfony\Component\HttpKernel\Bundle\Bundle;

class AcmeUserBundle extends Bundle
{
    public function getParent()
    {
        return 'FOSUserBundle';
    }
}

Затем вы можете поместить свой собственный файл validation.yml в папку config и установить свойство errorPath уникального ограничения следующим образом:

#validation.yml:
Acme\DemoBundle\Entity\User:      # your user entity
constraints:
    - Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity: { fields: usernameCanonical, errorPath: username, groups: [CustomRegistration, Default] }

Убедитесь, что вы указали errorPath в качестве фактического имени поля в форме.

0 голосов
/ 09 февраля 2012

Прочитайте документацию Рендеринг каждого поля вручную

{{form_errors(form.username)}}
{{form_errors(form.)}}

или создайте тему формы Глобальное оформление формы

...