Это вот так работает. Допустим объект: use Yiisoft\Validator\Rule\Integer; use Yiisoft\Hydrator\Validator\Attribute\Validate; class MyObject { #[Validate(new Required())] #[Integer(min: 18)] private ?int $age = null; И мы передаём данные ['age' => '52']. Сначала будет выполнена валидация значения '52' (строка), на то, что оно существует. А уже после наполнения объекта будет выполнена классическая валидация. И проверяться уже будет типизированное значение 52 (число), что оно больше 18.
По идеи тут должно быть private int $age так?
ах вот как, превалидацию получается вот этот атрибут задает use Yiisoft\Hydrator\Validator\Attribute\Validate;?
Обсуждают сегодня