Помогите разобраться с валидатором симфы. Есть констрейнт UniqueEntity, но проблема в том, что мне нужно применять его не к сущности, а к DTO. Пробовал указывать нужную сущность в опции entityClass и поле для валидации в опции field, но не прокатило. Пока решил проблему созданием кастомного констрейнта, но что-то мне кажется, что я навелосипедил без необходимости.
>>2246283Ты меня не не так. У меня нет проблем с валидацией ДТО (форм тоже, кстати, нет). Проблема исключительно в UniqueEntity и я хочу понять, то ли я не умею его готовить, то ли я все сделал правильно, написав свой констрейнт.
>>2246306Да вроде понятно писал. Правила валидации в ДТО, из которого после успешной валидации создается сущность. Нужно проверять одноименное поле из сущности на наличие в БД.
>>2246330И шо таки тебя смутило? Не иначе поле/свойство? Я недавно в таком сраче на тему терминологии уже поучаствовал и больше не хочу. И ничего странного я не леплю, просто давно решил, что сущности должны быть всегда валидны, следовательно в них нет места правилам валидации.
>>2246347Да я понял что ты велосипедишь, это очень увлекательно, продолжай. Просто у меня, когда говорят дто, сначала возникает мысль что человек хочет отделить бизнес логику от фреймворка, инфраструктуры и т.д. Дто из реквеста валидируют чтобы выплюнуть фронту ошибку, это задача инфраструктуры. Требование уникальности это требование бизнес логики, но одновременно и протекающая абстракция, потому, что чисто в слое БЛ эту проверку сделать нельзя.
>>2246352Спасибо, продолжаю дальше.>>Требование уникальности это требование бизнес логики, но одновременно и протекающая абстракция, потому, что чисто в слое БЛ эту проверку сделать нельзя.Просто нужно сделать ДТО для ДТО и проблема протекания исчезнет азаза
>>2246360Валидация моделей БЛ это задача БЛ. ДТО валидируется чтобы вернуть фронту, что он забыл заполнить требуемое поле . Поле в форме - это очевидно не забота БЛ. Вопрос о границах и направлении зависимостей.Проблема протекания не исчезнет никогда, ты не сможешь всю таблицу загрузить в модель БЛ и проверить там.
>>2246340Если у тебя заранее заготовлен ответ, то тебе запускать скрипт не нужно. Ты можешь настроить веб-сервер, чтобы при методе POST он, например, отдавал HTML-файл с диска. Как настроить - зависит от используемого сервера - nginx или Apache и, боюсь, тебе придется погрузиться в их документацию. Документация к nginx есть на русском.В апаче вроде как можно использовать директиву Limit: https://httpd.apache.org/docs/2.4/mod/core.html#limit>>2246352> Просто у меня, когда говорят дто, сначала возникает мысль что человек хочет отделить бизнес логику от фреймворка, инфраструктуры и т.дДТО может быть просто ДТО, которое например представляет данные из формы (или пришедшие из API), и нет никакой сложности сделать проверку на отсутствие таких данных в БД. А ты начинаешь додумывать, как там архитектура устроена.
>>2246483Спасибо, всё оказалось гораздо проще, скрипт как ответ принимает содержимое файла к которому обращается