Fazendo validações personalizadas nos formulários do Django

  Рет қаралды 4,452

Samuel Gonçalves

Samuel Gonçalves

Күн бұрын

Este vídeo mostra como fazer validações personalizadas nos seus projetos em python e django.
Formulário manual: • Como trabalhar com for...
Django Form: • Utilizando o Django Form
Django ModelForm: • Django ModelForm - A m...
👇👇 Quer ser meu amigo nas redes sociais? 👇👇
✅ LinkedIn: / samuel-gon%c3%a7alves-...
✅ Instagram: / samuelgoncalves.tech
✅ GitHub: github.com/fgs...
✅ Twitter: / samuel_f_g

Пікірлер: 54
@lucianoengnav
@lucianoengnav Жыл бұрын
Já começo vídeo no espancando o like! Os vídeos são muito bons!
@SamuelGoncalvesPython
@SamuelGoncalvesPython Жыл бұрын
Caraca, é desse tipo de visualizado que eu gosto. Já chega firme. kkkk Muito obrigado. Abraço e sucesso.
@sisccoa
@sisccoa Жыл бұрын
Sensacional Samuel, está me ajudando bastante. Obrigado e parabéns !!!
@SamuelGoncalvesPython
@SamuelGoncalvesPython Жыл бұрын
Fico feliz em saber. Muito obrigado pelo feedback. Abraço e sucesso ai.
@marciogcsuconic5642
@marciogcsuconic5642 5 ай бұрын
Top demais suas explicações.
@sauleragem
@sauleragem 6 ай бұрын
Top!!! valeu por contribuir
@SamuelGoncalvesPython
@SamuelGoncalvesPython 6 ай бұрын
Por nada, camarada.
@RegisdoPython
@RegisdoPython 3 жыл бұрын
Muito bem explicado. Dica realmente muito úitl. Parabéns!
@SamuelGoncalvesPython
@SamuelGoncalvesPython 3 жыл бұрын
Muito obrigado, mestre. Abraço.
@fbaugusto
@fbaugusto Жыл бұрын
Obrigado professor!
@SamuelGoncalvesPython
@SamuelGoncalvesPython Жыл бұрын
Eu que agradeço, camarada. Grande abraço.
@Conteudosviraisdetudo
@Conteudosviraisdetudo 3 жыл бұрын
Show de bola 👌
@SamuelGoncalvesPython
@SamuelGoncalvesPython 3 жыл бұрын
Obrigado ✌
@RobertoSouza-ms5sx
@RobertoSouza-ms5sx 3 жыл бұрын
Seus vídeos são tão bons e estão me ajudando tanto que dou like antes de assistir
@SamuelGoncalvesPython
@SamuelGoncalvesPython 3 жыл бұрын
Hahahahahaahah Muito obrigado, Roberto. É esse tipo de inscrito no canal que eu gosto. Já chega sapecando um like e um comentário. Grande abraço.
@renatoalves4454
@renatoalves4454 Жыл бұрын
tooppppp de liiiiiiinhaaaaaaaaaaaa
@SamuelGoncalvesPython
@SamuelGoncalvesPython Жыл бұрын
Muuuito obrigado, camarada. Vlw demais Abraço.
@nonatosales4772
@nonatosales4772 3 жыл бұрын
Bem didático esse vídeo, parabéns.
@SamuelGoncalvesPython
@SamuelGoncalvesPython 3 жыл бұрын
Obrigado, Nonato. Fique a vontade para sugerir temas Abraço.
@HigorLP
@HigorLP 3 жыл бұрын
Show! Muito bem explicado!
@SamuelGoncalvesPython
@SamuelGoncalvesPython 3 жыл бұрын
Muito obrigado, Higor Abraço.
@AndreHRSA
@AndreHRSA 3 жыл бұрын
Parabéns
@SamuelGoncalvesPython
@SamuelGoncalvesPython 3 жыл бұрын
Obrigado, André. Abraço.
@zerielribeiro5787
@zerielribeiro5787 3 жыл бұрын
Muito bom
@SamuelGoncalvesPython
@SamuelGoncalvesPython 3 жыл бұрын
Muito obrigado, Zerial. Abraço.
@PySaga
@PySaga 3 жыл бұрын
Show, mais uma obra de arte. Obrigado Samuel
@SamuelGoncalvesPython
@SamuelGoncalvesPython 3 жыл бұрын
Oooh meu caro, muito obrigado. Sempre bom receber feedback. Grande abraço.
@geilamartins8952
@geilamartins8952 10 ай бұрын
Gostei do vídeo, bem objetivo, gostaria de saber se esse debug é uma extensão ...como faço para usar?
@SamuelGoncalvesPython
@SamuelGoncalvesPython 10 ай бұрын
Muito obrigado. Mas não é uma extensão não. É nativo do pycharm.
@niviafigueiredo13
@niviafigueiredo13 Жыл бұрын
Suas explicações são ótimas, entendo tudo. E sempre recorro a seus videos Tenho dúvida, para fazer a validação de data de nascimento, como faria, devo usar o datetime? Por exemplo: se a pessoa digitar a data atual ao invés da do nascimento, aparecia a mensagem que a data nao pode ser maior ou igual que a atual. E outra o datetime já possue o recurso de verificar se o ano tem doze meses, o mês trinta dias....... , ou para isso teria trabalhar com uma sequencia de condições? Qual seria a solução? Obrigado
@SamuelGoncalvesPython
@SamuelGoncalvesPython Жыл бұрын
Obrigado, Nivia. Fico feliz em saber que sente facilidade com a explicação. Sobre o problema, é o seguinte: o tipo de campo define o armazenamento dos dados. Apenas isso. O campo DateTime armazena data e hora. Se for pra armazenar data de nascimento, não sei se faz sentido armazenar a hora. Armazenar apenas a data é o ideal. Neste caso, eu sugiro pra vc usar o campo Date. Tanto o Date quanto o DateTime já fazem a validação de ser uma data válida (mês com 31, 30, 28 ou 29 dias em anos bissextos) Agora sobre a data ser uma data válida de acordo com suas regras de negócio, vc mesmo que tem que implementar. (eu ensino exatamente isso no vídeo) No lugar que eu faço uma validação "fake" vc vai fazer mais ou menos o seguinte: - Pegar a data atual - Pegar a data enviada pelo usuário - Verificar se a enviada é igual ou menor que a atual - - Se não for, continua normal - - Se for, exibe o erro. Espero que ajude. Abraço e boa sorte.
@niviafigueiredo13
@niviafigueiredo13 Жыл бұрын
@@SamuelGoncalvesPython muito obrigado, ajudou muito.
@JeanCarlos-oo1pu
@JeanCarlos-oo1pu 3 жыл бұрын
Cara seus vídeos são muito bem explicados... Você trata dos assuntos com uma objetividade, que facilita muito o entendi. Parabéns. Senti falta de uma validação de Cep com preenchimento automático no Django. Hoje eu osso jquery pra isso.
@SamuelGoncalvesPython
@SamuelGoncalvesPython 3 жыл бұрын
Muito obrigado, Jean. Gosto de deixar a coisa bem simples e objetiva mesmo. Gosto de ajudar as pessoas a evoluírem, mesmo que só um pouco em seus conhecimentos. (E acabo aprendendo também). Quem sabe mais pra frente eu grave um vídeo com esse tema de consumir um serviço de cep. Abraço.
@gabrielsantos-mz3dr
@gabrielsantos-mz3dr 3 жыл бұрын
mais um ótimo vídeo, parabéns! uma dica de vídeo e falar sobre UniqueConstraint e CheckConstraint.
@SamuelGoncalvesPython
@SamuelGoncalvesPython 3 жыл бұрын
Muito obrigado, Gabriel. Vou anotar aqui sua sugestão. Mas se tiver dúvidas mais urgentes me chama no insta samuelgoncalves.tech. Abraço.
@labertt_
@labertt_ 2 жыл бұрын
Cara ótimo vídeo, parabéns! Como posso fazer a validação de uma data? É uma data de nascimento, então eu quero que o forms não aceite quando por exemplo eu digitar uma data que não existe ainda, como por exemplo '20/05/2023' porque você não pode nascer no futuro obviamente.
@SamuelGoncalvesPython
@SamuelGoncalvesPython Жыл бұрын
Obrigado, Labert. No caso, basta vc criar uma validação para o campo e codificar tudo que vc quiser. Data futura, data muito antiga, etc....
@dftagliari
@dftagliari 3 жыл бұрын
Mais um excelente vídeo, parabéns!! No sistema que estou desenvolvendo enquanto aprendo, já consegui fazer as validações e chamar funções que configuram switches de rede a partir dos dados inseridos no formulário. Dúvida: tem como no decorrer da execução das funções eu ir mostrando mensagens pro usuário informando o andamento, mas sem travar a execução? Por exemplo: "Etapa 1 concluída, etapa 2 concluída,...". É que tem funções bem demoradas, que esperam, por exemplo, que um switch reinicie! Bem, eu sei que em uma resposta de comentário você não vai ensinar a fazer isso, mas dá uma luz o que eu pesquiso para fazer?
@SamuelGoncalvesPython
@SamuelGoncalvesPython 3 жыл бұрын
Muito obrigado, Fernando. Cara, realmente, um comentário é pouco pra discutir sobre isso kkkk Mas assim de supetão, acredito que vc tenha que usar um pouco de ajax para verificar o andamento e atualizar a tela do usuário. Agora, o caminho das pedras vc precisa percorrer. rsrsrs Se tiver dúvidas mais específicas no caminho, manda ai. Vai ser um prazer ajudar. Abraço.
@dftagliari
@dftagliari 3 жыл бұрын
@@SamuelGoncalvesPython blz, imaginei q ia ter algo de javascript hehe..vou precisar me aprofundar no frontend! vlw
@SamuelGoncalvesPython
@SamuelGoncalvesPython 3 жыл бұрын
@@dftagliari Boa sorte ai. rsrs
@kleveringbueno2331
@kleveringbueno2331 Жыл бұрын
Muito esclarecedor seu video, repliquei e está funcionando a validação, porém meu formulario é um modelform e quando o django devolve a validação para o frontend nao renderiza o formulario, apenas mostra os campos e a msg de erro em uma tela em branco. Porém não tem mensagem de erro debugando o processo.... existe algum tratamento especifico para modelform??
@SamuelGoncalvesPython
@SamuelGoncalvesPython Жыл бұрын
Cara, muito difícil sem ver detalhes de código. Mas veja se vc realmente está mandando o formulário correto para o frontend. E no caso de estar, veja se vc está renderizando ele completo (com {{ form }} ) ou se vc está renderizando campo a campo ( com {{ form.field_name }} ) se for a segunda opção, vc precisa "manualmente" renderizar as mensagens de erro e também os valores que vem do form no backend.
@kleveringbueno2331
@kleveringbueno2331 Жыл бұрын
@@SamuelGoncalvesPython obrigado pela resposta, eu estou renderizando campo a campo... teria um pequeno exemplo de como renderizar as mensagens manualmente? pelo que entendi eu devo sobrescrever o metodo POST???? o meu clean do forms.py está bem simples: # forms.py def clean_password(self): password = self.cleaned_data['password'] if len(password) < 8: raise ValidationError('A senha deve possuir mais de 8 caracteres') else: return password e a minha view utiliza o classe BSModalCreateView (djando boostrap model form) # views.py class UsuarioCreateView(BSModalCreateView): template_name = 'usuarios/form_usuarios.html' form_class = UsuarioModelForm success_url = reverse_lazy('usuarios:list_usuarios') model = Usuario tenho tambem algumas tratativas no form_valid e get_context...mas funcionava tudo certinho antes de eu inserir a validação de campos.
@SamuelGoncalvesPython
@SamuelGoncalvesPython Жыл бұрын
@@kleveringbueno2331 não tenho vídeo sobre isso ainda, mas tem essa parte aqui que mostra como fazer pra colocar o campo e o erro na tela: docs.djangoproject.com/en/4.1/topics/forms/#rendering-fields-manually
@ericlesmiller9640
@ericlesmiller9640 2 жыл бұрын
cara fiz de uma forma bem parecida como no tutorial. Porque em alguns casos a funcao é executada e em outros a funcao nao é executada. lembrando que usei o nome clean_nomedocampo das funçoes de validação personalizadas
@SamuelGoncalvesPython
@SamuelGoncalvesPython 2 жыл бұрын
E vc consegue dizer quando está sendo e quando não está sendo executada?
@NubLokos
@NubLokos 3 жыл бұрын
E se fosse pra comparar valores? tipo o preço que se for maior que outro emite um erro.
@SamuelGoncalvesPython
@SamuelGoncalvesPython 3 жыл бұрын
Quando tem que fazer comparações que envolvem mais de um campo, tem que sobrescrever o método "clean". E nele você coloca a validação que você quiser. Todos os campos estarão disponíveis lá.
@domingosdias5988
@domingosdias5988 3 жыл бұрын
O meu formulário é validado mas a mensagem não aparece na tela
@SamuelGoncalvesPython
@SamuelGoncalvesPython 3 жыл бұрын
Se você está colocando o campo na mão, vc precisa colocar também o erro na mão. Seria algo do tipo: {{ form.firstname.errors }} Faz isso para cada campo. E para exibir erros que são do formulário como um todo, vc precisa colocar: {{ form.non_field_errors }}
@sisccoa
@sisccoa Жыл бұрын
Sensacional Samuel, está me ajudando bastante. Obrigado e parabéns !!!
@SamuelGoncalvesPython
@SamuelGoncalvesPython Жыл бұрын
Obrigado, camarada. Grande abraço.
Atualizar vários objetos de uma vez no Django
8:52
Samuel Gonçalves
Рет қаралды 1,7 М.
Formulários Bootstrap no Django com Crispy Forms
10:59
Samuel Gonçalves
Рет қаралды 5 М.
Ozoda - Lada ( Official Music Video 2024 )
06:07
Ozoda
Рет қаралды 29 МЛН
Every parent is like this ❤️💚💚💜💙
00:10
Like Asiya
Рет қаралды 25 МЛН
Help Me Celebrate! 😍🙏
00:35
Alan Chikin Chow
Рет қаралды 83 МЛН
3 Tipos de formulários com DJANGO | Aula semanal #14
30:30
pythonando
Рет қаралды 11 М.
Django ModelForm - A melhor maneira de fazer formulários
21:42
Samuel Gonçalves
Рет қаралды 13 М.
VALIDAÇÕES de models com DJANGO
28:20
pythonando
Рет қаралды 2 М.
Class Based Views VS Function Based Views | Django
21:14
pythonando
Рет қаралды 2,5 М.
Python Poetry in 8 Minutes
8:27
ArjanCodes
Рет қаралды 74 М.
Entendendo o Aggregate e o Annotate do Django
28:49
Samuel Gonçalves
Рет қаралды 3,5 М.
Django custom field validator with RegexValidator
7:31
Very Academy
Рет қаралды 7 М.
Style Django Forms With Bootstrap - Django Blog #5
15:46
Codemy.com
Рет қаралды 127 М.
Ozoda - Lada ( Official Music Video 2024 )
06:07
Ozoda
Рет қаралды 29 МЛН