Gostaria de saber qual é a melhor prática, realizar validações de constraints no backend antes de chegar no banco de dados, ou permitir chegar no banco de dados e ocorrer exceções?
Por um lado o banco é mais inteligente do que uma lógica que pode possuir erros, ainda mais se houverem muitas validações para serem feitas. Porém a idéia de deixar ocorrer um erro que poderia ser evitado também é estranho