Métodos de Mensagem em Views:
Se já havia métodos de mensagem em suas views para lidar com validações e agora você implementou validações adicionais, você tem algumas opções. Você pode manter ambos, garantindo uma camada extra de validação e possivelmente mensagens de erro mais específicas, ou você pode decidir manter apenas um dos métodos, dependendo de qual atende melhor às suas necessidades. A diferença entre os métodos geralmente reside em quando e como eles validam os dados. Algumas validações ocorrem no lado do cliente (frontend) enquanto outras no lado do servidor (backend).
Método clean() mesmo com atributo required em HTML:
O motivo para realizar validações tanto no frontend (com o atributo required do HTML) quanto no backend (com o método clean() ou equivalente) é a segurança e a integridade dos dados. O atributo required do HTML pode ser facilmente burlado, desativado ou ignorado, permitindo o envio de dados inválidos ou maliciosos. Validar os dados no backend é crucial para prevenir tais situações, pois esta validação não pode ser burlada pelo usuário.
Portanto, mesmo que o elemento HTML do formulário tenha o atributo required, é sempre bom prática validar os dados novamente no servidor. Isso assegura que mesmo se alguém burlar as validações do cliente, os dados inválidos não serão processados pelo servidor.
Validação de Formulários:
Sim, formulários precisam de validação, e geralmente, esta validação ocorre em dois lugares: no frontend antes do formulário ser enviado (para melhorar a experiência do usuário, fornecendo feedback imediato) e no backend após o formulário ser recebido (para garantir a segurança e a integridade dos dados). Utilizar ambas validações é a abordagem mais robusta e segura.
Espero que essas explicações ajudem a esclarecer suas dúvidas! Se tiver mais perguntas ou precisar de mais clarificações, sinta-se à vontade para perguntar.