Если есть сомнения, как правило, лучше поместить бизнес-логику (включая логику проверки ввода) в бизнес-уровень, потому что
- Возможно, вы имеете дело с несколькими презентационными средами (например, с веб-интерфейсом и API)
- Вы не хотите повторять код и управлять двумя экземплярами этой логики
Хорошие фреймворки позволят вам определять такую логику в общем месте и поддерживать обнаружение проблем на ранних этапах (например, на уровне представления), что обычно является более интуитивным (отказоустойчивым), более масштабируемым (интерфейс распознает его) решением. .
Однако, если ваши фреймворки не поддерживают эту возможность, вы должны предпочесть согласованность и ремонтопригодность и использовать логику на бизнес-уровне.