Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Sobre os métodos clean() e os messages

Bom dia! O instrutor apresentou nesse vídeo sobre as validações e mensagens de erro caso o formulário não seja preenchido da forma esperada. Com isso, tive duas dúvidas:

  • O que acontecerá então com os métodos de mensagem que já existiam na views que cuidavam destas validações? Qual a diferença entre as duas?
  • Qual seria o motivo do clean() ter uma verificação se existe conteúdo dentro do campo se o próprio elemento HTML do form tem o atributo de required? Os forms precisam ter validação ou a validação pode ser feita antes do formulário ser enviado?

Desde já agradeço!

2 respostas
solução!

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.

Muito obrigado Istefferson! Deu para esclarecer bastante a minha dúvida!