Почему мой браузер не поддерживает группы проверки в моем классе - PullRequest
0 голосов
/ 13 апреля 2019

У меня есть пользовательский класс с некоторыми ограничениями.
Для создания и обновления объектов класса пользователя я использую тип формы с именем UserType.

Чтобы выполнить конкретную задачу, я пытаюсь проверить группы проверок (ограничения). Из документа Symfony я понял, что всякий раз, когда вы добавляете новую группу в ваши ограничения, они никогда не будут применяться, если вы не укажете именно это. Потому что ограничения «По умолчанию» будут применяться в первую очередь.

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

Что я должен добавить к своему коду, чтобы сообщить браузеру, что это поле обязательно для заполнения, только если запрашивается эта группа проверки.

/**
 * @ORM\Column(type="string", length=255)
 * @Assert\NotBlank(message="Ajouter une image", groups={"mandatory"})
 * @Assert\Image(
 *     minWidth = 200,
 *     maxWidth = 1000,
 *     minHeight = 200,
 *     maxHeight = 1000,
 *     groups={"mandatory"}
 * )
 */

private $cover;

1 Ответ

0 голосов
/ 13 апреля 2019

Ограничения валидации не на стороне клиента, а на стороне сервера.

Если вы хотите установить требуемое поле (или нет) для проверки браузера html5, вы должны указать его в конструкторе форм:

$builder->add('cover', null, [
    'required' => false,
]);

Ознакомьтесь с документацией

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...