У меня в DTO есть поле float $price, и там стоит валидатор на верный формат (@Assert\Type float, @Assert\NotNull, etc.)
Если из реквеста приходит {"price": "test"}, то прежде чем сработает валидатор, ругается сам сериалайзер с ошибкой
The type of the "price" attribute for class "ProductStoreRequest" must be one of "float" ("string" given)
Как то можно это исправить?
https://github.com/symfony/symfony/pull/42502
Окей, это то, что нужно, буду следить
ну или это гавно можешь потестить)) https://github.com/Myaza-Software/Schema-Validator
Нет, это не то, но спасибо. Сейчас использую JMS Serializer, но проблема в том, что он всегда преобразует значение из JSON в typed property. Может из false 0 сделать, и валидатор это пропустит. Не нашёл, как это можно отключить. Документация у них странная
всмысле не то? Тебе же надо валидировать типы property верно?
Да, но я предполагал, что перед тем, как создать объект DTO и каждой property давать значени, будет работать валидатор @Assert\Type например. Не знаю даже, как объяснить. Видимо действительно придётся от типов в property отказаться
сочетание typed-проперти float $value и Assert\Type("float") выглядит странно что должно произойти, чтоб этот ассерт отработал и выдал ошибку?
Обсуждают сегодня