Вы должны разместить на уровне данных как можно больше бизнес-логики. Отношения, уникальность, длина, минимальная длина, ценностные ограничения, все, что вы можете.
Не верьте приложению, чтобы правильно его вставить, пользователи ваших данных попытаются сломать их любым доступным способом. Я лично считаю, что лучше отправлять 500-е на неверные данные, чем принимать их и исправлять позже, хотя некоторые люди скажут вам иначе, поскольку это очень спорный вопрос.
Удачи.