Как проверить не Doctrine Entity Object

у меня есть немного $ customObject который является примером CustomClass и я хочу проверить это с помощью Symfony Validation.
CustomClass не является классом сущности Doctrine.

Вот мой CustomClass:

use Symfony\Component\Validator\Constraints as Assert;
class SomeClass {
/**
* @Assert\NotBlank(message="Status should not be empty")
* @Assert\Choices({"200", "201"})
*/
protected $status;

/**
* @Assert\Type("string")
* @Assert\NotBlank(message="Content should not be empty")
*/
protected $content;
}

Попытка проверить это:

$constraints = Validation::createValidator()->validate($customObject);

Но число ограничений всегда равно 0, даже если объект недействителен, похоже, что анализатор аннотаций игнорирует аннотации этого объекта. Хорошо работает над сущностями Doctrine в том же проекте.
Есть идеи?

0

Решение

Вам необходимо получить услугу валидатора:

без автопроводки

$validator = $this->get('validator');

с автопроводкой

use Symfony\Component\Validator\Validator\ValidatorInterface;
...
public function myMethod(ValidatorInterface $validator)

А потом

$errors = $validator->validate($customObject);

У вас есть в вашей конфигурации:

framework:
validation: { enable_annotations: true }

Смотрите больше информации здесь:
https://symfony.com/doc/current/validation.html#using-the-validator-service

1

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

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

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