У меня проблемы с пониманием, как делать правильно, современно и архитектурно, при этом без оверхэда.
да что значит верно или неверно?
если это не решает никакую Твою проблему зачем тебе это нужно?
особенно в данное случае, когда у тебя в форме много разнородных полей сохраняется
просто представь, по-настоящему "взрослую" систему, там бы было такое?
ну чтобы у тебя регистрация пользователя происходила с заполнением сразу такого кол-ва полей
скорее всего она бы происходила этапами, верно же?
ну типа сначала телефон введите, потом еmail
потом инн/номер паспорта/снилс
вероятно при таком подходе, у тебя бы что-то да поменялось на беке :)
плюсом у тебя же наверняка, есть какая-то абстракция над хранилищем, что будет если ты его решишь подменить (не решишь :D) ?
ты подумал как ты будешь бросать этот ConstraintException ? (тебе кстати на этот вопрос уже отвечали )
вдобавок, для бизнеса, что важнее доступность или согласованность?
а это неравенство одинаково для каждого из полей (phone|email|inn)?
а что если доступность будет более важной, для какого-нибудь из них? (т.е. мы возьмём и дропнем констрейнт, или у нас его вообще не будет)
решение получается у тебя будет "неправильное" ?
получается ты не как "взрослый" будешь делать, а просто как программист, который послушал кого-то в чатике и затащил к себе решение в проект, не подумав предварительно ?
мне кажется в бОльшей степени именно это "неправильно"
смотри, ещё раз, я не умнее тебя и думаю, что знаю меньше чем ты
и уж точно меньше чем те, кто тебе отвечал
но я уверен в том, что лучше всего сначала хорошо подумать, прежде чем использовать что-либо
и ещё раз "Короче это не по взрослому :)" - это не причина, чтобы что-то когда-то тянуть к себе в проект