@dmz9

Symfony 3 Validation — как сделать взаимоисключающие проверки?

Используется Symfony/Validation как отдельный компонент, остальное окружение не имеет других компонентов Symfony.

Есть форма, в форме выпадающий список. Дефолтное значение - пустое.

Нужно проверить входящие данные на предмет пустого значения - вернуть ошибку "Выберите значение из списка", либо, если оно не пустое - вернуть ошибку "Значение *** отсутствует в списке".
Валидация только по значению переменной.

Оформление на бэкэнде в стиле php-кода (не аннотации, не xml/yaml).
Вот так сейчас
$errors = $validator->validate(
			$value,
			[
				new NotBlank(
					[
						'message' => 'Выберите значение из списка'
					]
				),
				new Choice(
					[
						'choices' => $valuesList,
						'message' => 'Значение {{ value }} отсутствует в списке'
					]
				)
			]
		);


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

В симфони не разбираюсь, но изучить хочется, однако я так понял никто толком даже в буржуазном интернете не разбирается как использовать этого монстра standalone без остального фреймворка.
  • Вопрос задан
  • 473 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы