Symfony проверка не возвращает никаких нарушений для NotBlank - PullRequest
0 голосов
/ 19 февраля 2020

Я использую проверку Symfony в своем собственном приложении (не Symfony). Я ожидаю, что он вернет нарушения, так как я не заполнил свойство Id:

$user = new User();
$user->setId('');
//...

$validator = \Symfony\Component\Validator\Validation::createValidator();
$errors = $validator->validate($user);
var_dump(count($errors)); exit; // outputs: 0

Однако проверка не возвращает нарушений.

Вот мой класс User с аннотациями ограничений:

use Symfony\Component\Validator\Constraints as Assert;

class User {

    /**
     * @Assert\NotBlank
     */
    private $id;

    //...

    public function getId(): string {
        return $this->id;
    }

    public function setId(string $id): void {
        $this->id = $id;
    }

    //...

Где я ошибаюсь? Согласно документам, пустая строка должна вызвать нарушение для этого ограничения - https://symfony.com/doc/current/reference/constraints/NotBlank.html

1 Ответ

0 голосов
/ 19 февраля 2020

Вам не нужны аннотации, если вы используете проверку. Попробуйте это:

$validator = Validation::createValidator();
$violations = $validator->validate($user->getId, [
    new NotBlank(),
]);
...