Válidações, no back-end ou no front-end?
Essa foi uma das dúvidas que tive quando desenvolvi minha primeira aplicação full-stack e acredito que se você está iniciando sua primeira aplicação full-stack, também esteja com essa dúvida.
Antes de responder a pergunta sobre onde ficam as validações, é importante ressaltar que não existe uma solução perfeita, e diferentes abordagens podem funcionar melhor para diferentes casos. No entanto, a minha sugestão seria que você faça validações tanto no front-end quanto no back-end.
Algumas pessoas podem achar que é trabalhoso ter que fazer as regras duas vezes, mas existem boas razões para essa escolha. Se a regra de negócio estiver apenas no back-end, a validação só acontecerá depois que a requisição for feita, ou seja, depois que o cliente clicar em "enviar" no formulário. Isso pode levar a uma experiência ruim para o usuário, que terá que esperar a requisição ser processada antes de receber um feedback sobre o preenchimento correto do formulário. Além disso, em casos em que a aplicação é "serverless" e você paga por quantidade de requisições, essa abordagem pode se tornar custosa.
Por outro lado, colocar as regras de validação no front-end permite que você evite requisições desnecessárias, e pode dar ao usuário feedback imediato sobre o preenchimento correto do formulário. Por exemplo, se o usuário sair do campo "nome" sem preenchê-lo, ele pode receber um feedback em tempo real informando que o campo é obrigatório.
Dessa forma, minha sugestão seria que você fizesse as validações tanto no front-end quanto no back-end. Isso pode ser um pouco mais trabalhoso, mas pode resultar em uma melhor experiência para o usuário e em economia de custos, além de garantir que suas regras de negócio estejam protegidas de potenciais ataques de usuários mal-intencionados.