lenk0belk0
@lenk0belk0
программироваю

Почему не работает валидация в symfony?

Создала файл validation.yml в папке Resources/config/
В нем такие правила:
App\AdmindBundle\Entity\Rubric:
    constraints:
        - Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity:
            fields: [name]
            message: "Название рубрики должно быть уникальным"
    properties:
        name:
            - NotBlank:
                message: "Введите название рубрики"
            - Length:
                min: 4
                minMessage: "Длина названия рубрики должна быть минимум 4 символа"

Также в общем config.yml изменила строчку
framework:
    validation:      { enabled: true }

Однако, когда ввожу в форму невалидные данные (например, слишком короткое имя), никаких ошибок в форме не появляется (форма не кастомизованная).
Метод isValid при этом возвращает true
Что я делаю не так?
  • Вопрос задан
  • 413 просмотров
Пригласить эксперта
Ответы на вопрос 2
skobkin
@skobkin
Гентушник, разработчик на PHP и Symfony.
На SO советуют подключить его вручную через Extension.
Сталкивался с этой проблемой, но уже не помню, чем закончилось, к сожалению. В документации на эту тему есть пробел.
Кстати, насчёт документации, если у вас Symfony 2.7, то стоит учитывать это:
As of Symfony 2.7, XML and Yaml constraint files located in the Resources/config/validation sub-directory of a bundle are loaded. Prior to 2.7, only Resources/config/validation.yml (or .xml) were loaded.
Ответ написан
Комментировать
AndreyShakhtarin
@AndreyShakhtarin
Один из Землян

properties:
    name:
        - NotBlank:
            message: "Введите название рубрики"
        - Length:
            min: 4
            minMessage: "Длина названия рубрики должна быть минимум 4 символа"


name: не совпадает с полем в форме App\AdmindBundle\Entity\RubricType;
Одна из возможных причин.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы