Jeito Fácil de Validar Formulários no Flutter com Mixin!

Поділитися
Вставка
  • Опубліковано 18 вер 2024
  • Neste vídeo vou te mostrar como fazer validação de formulários no Flutter usando Mixins. A ideia é reusar código Dart para TextFormField Validation, usando funções nos validators de cada form!
    📺 Confira também as Playlists:
    👉🏻 Flutter Tips: • Flutter Tips
    👉🏻 Flutter na Prática: • Flutter na Prática
    #flutter
    #validation
    #ux

КОМЕНТАРІ • 48

  • @fernando-felicio
    @fernando-felicio Рік тому +10

    Já deixei o like sem mesmo ver o vídeo.
    A confiança na qualidade do professor é tanta, que qualquer parada que falar vai ser importante e relevante.
    O cara é brabo demais.

    • @drantunes
      @drantunes  Рік тому

      Muito obrigado pela confiança Fernando!!!

  • @Gabonidaz
    @Gabonidaz 10 місяців тому +1

    De verdade, dei uma olhada em outros vídeos sobre validação de formulários aqui no UA-cam e essa abordagem me parece a melhor, e não vi nenhum gringo ensinando isso. Parabéns pelo conteúdo de alta qualidade.

  • @dacostaApps
    @dacostaApps Рік тому +1

    Professor Diego sempre trazendo conteúdo muito útil e de forma clara. Mais uma vez muito obrigado.

  • @mago.regulo
    @mago.regulo Рік тому +1

    Nossa, muito bom. Nunca tinha pensado em fazer as validaçoes com um mixin. Achei mais organizado do que deixar na gerência de estado.

  • @lucastavares7767
    @lucastavares7767 Рік тому +2

    Ótima explanação prof Diego, trás vídeo sobre regex😃👍

  • @rogeriomq
    @rogeriomq Рік тому +1

    Nossa, que bacana. Tenho algo de validações muito parecido com isso. Nem me passou pela cabeça usar mixim, gostei. Vlw teacher.

  • @bitencourtuva
    @bitencourtuva Рік тому +1

    Excelente conteúdo como sempre, obrigado Professor.

  • @_renatoleal
    @_renatoleal Рік тому

    Muito útil. Excelente, professor!!! Obrigado por compartilhar.

  • @linuxhopper6947
    @linuxhopper6947 Рік тому

    Toda aula é uma obra! Obrigado!

  • @ThiagoPereira-yc8xw
    @ThiagoPereira-yc8xw Рік тому

    Top de vdd. Não uso muitos mixins mas gostei de abordagem.

  • @medeiros8563
    @medeiros8563 Рік тому

    vou já refatorar alguns códigos, muito bom professor!

  • @higorgustavobarbosadasilva9624

    Já vou mudar meu projeto. Obrigado

  • @rodrigorasalves
    @rodrigorasalves Рік тому

    Parabéns Professor.

  • @Fabbio204
    @Fabbio204 Рік тому

    Sensacional, ótimo vídeo. Obrigado

  • @viniciosatecubanos
    @viniciosatecubanos Рік тому

    obrigado pela aula.

  • @eduardospek
    @eduardospek Рік тому

    Conteúdo de qualidade! 👏🏽👏🏽👏🏽

  • @williamsilvadev
    @williamsilvadev Рік тому

    Muito bom!! 👏👏

  • @emanuelribeiro5762
    @emanuelribeiro5762 Рік тому +2

    Poderia um aula sobre o packege GoRouter aí prof?

    • @_renatoleal
      @_renatoleal Рік тому

      Boa tarde Emanuel, Professor Diego já tem uma aula de GoRouter. Segue o link: ua-cam.com/video/-IvmV7ztJMQ/v-deo.html
      Abraço

    • @drantunes
      @drantunes  Рік тому +3

      Tem uma já no canal sobre, mas como teve a atualização para versão 5, posso pensar em um update 👍

    • @emanuelribeiro5762
      @emanuelribeiro5762 Рік тому

      @@drantunes obrigado pelos conteudos
      são otimos

    • @_renatoleal
      @_renatoleal Рік тому

      @@drantunes seria top um Update, professor! 👍

  • @williansdutra
    @williansdutra Рік тому

    Muito legal.
    Eu ainda faço um pouco diferente. aquela parte ali do combine eu jogo para o controlador do widget ou da página apenas para que ali fique controller.emailValidate. costumo deixar apenas lógica de navegação no próprio widget.

    • @drantunes
      @drantunes  Рік тому

      Uma ótima ideia também Willians!!! Obrigado pela contribuição!

  • @charless.9139
    @charless.9139 Рік тому

    show

  • @valdecircorrea4216
    @valdecircorrea4216 Рік тому

    Wow, top

  • @andersonpires154
    @andersonpires154 Рік тому

    Excelente conteúdo professor. Qual extensão vc usa para criar um novo arquivo? Já vi vc falar sobre ele em algum vídeo no canal

  • @igor10ms
    @igor10ms Рік тому

    Dúvida!
    Levando em conta que existe os mixins no dart
    Podemos dizer que NUNCA há a necessidade de criar uma classe “helpers”, “converters” ou “utils” com métodos estáticos? pois podemos usar mixins pra todos esses casos
    Inclusive o mixin seria ate mais indicado pq ele seria “disposado” da memória junto com a classe que chama ele
    Diferente de um atributo estático que esta sempre na memória ainda q não esteja sendo usado

    • @drantunes
      @drantunes  Рік тому +1

      Pode usar dessa forma sim! Mas converters e afins, muitas vezes, são usados como padrões... por isso não vemos mixins para isso frequentemente.

  • @tihrasguinho
    @tihrasguinho Рік тому

    👏👏👏👏

  • @luizzlcs
    @luizzlcs Рік тому

    Profesor, como eu faria para no combile combinar fuções que rertonam bool e String. Digamos que eu crie duas funções, uma para validar se determinado campo contem '@' e outra para validade a quantidade de caracteres

    • @drantunes
      @drantunes  Рік тому +1

      Uma melhoria poderia ser criar uma classe de Resposta, que teria uma lista de strings com erros e um bool se está valido ou não. Acho que isso poderia ajudar e deixar mais conciso o uso ;)

  • @FlutterandoTV
    @FlutterandoTV Рік тому +1

    Oi, estou precisando falar contigo. Como entro em contato?

    • @drantunes
      @drantunes  Рік тому

      Manda um email para drantunes.services@gmail.com (te passo o zap la 👍)

    • @VictorOnFlutter
      @VictorOnFlutter Рік тому +1

      easter egg

  • @jailtonmendes8965
    @jailtonmendes8965 Рік тому

    Muito bom, excelente conteudo, você tem algum curso com inscrições abertas?

    • @drantunes
      @drantunes  Рік тому

      Ainda não Jailton, mas estou preparando!

  • @ramonalexferreira6191
    @ramonalexferreira6191 Рік тому

    Professor, tens o git desse app? Gostei

    • @drantunes
      @drantunes  Рік тому

      github.com/drantunes/flutter_riverpod_demo

  • @adailtongama6110
    @adailtongama6110 8 місяців тому

    Prof. Estou com um problema com relação as textformfield, consigo validar, mas no campo de e-mail, não consigo restringir para aceitar não aceitar "espaço" e emojis, até consigo bloquear o uso no campo, mas sempre que o usuário aperta "espaço" ou um emoji o campo é limpo, isso durante a própria digitação.
    Isso começou com a nova atualização do flutter, testei mudar o package que estava utilizando para fazer a mask, mas sem sucesso.
    Irei colocar aqui o eu utilização e depois as variações dos que tentei.
    //Utilizava o MaskTextInputFormatter, que supria minha necessidade
    final MaskTextInputFormatter normal = MaskTextInputFormatter(mask: '',filter: {'A': RegExp(r'^[a-zA-Z._@^\p{So}]+$')});
    //Depois testei esse e o FilteringTextInputFormatter do próprio flutter
    final MaskedTextController normal = MaskedTextController(mask: 'a@b.c');
    final FilteringTextInputFormatter normal = FilteringTextInputFormatter.allow(RegExp(r'^[a-zA-Z0123456789._@^\p{So}]+$'));
    Não consegui encontrar um conteúdo que realmente ajudasse, a maioria é só sobre mask.

    • @adailtongama6110
      @adailtongama6110 8 місяців тому

      Desculpa o textão, tentei deixar o mais claro possível kkkkk

    • @drantunes
      @drantunes  8 місяців тому +1

      Talvez seja melhor fazer a validação após o submit, assim não terá problemas do campo apagar. Pense que o cliente pode digitar errado mesmo, por conta do teclado pequeno.
      Dá uma olhada nas issues no github do package que está usando, talvez já haja algum levantamento sobre esse problema, principalmente se veio após alguma atualização do Flutter.
      No geral eu faço apenas uma pré-validação no flutter, e o principal faço no servidor (por exemplo, usando alguma API para saber se o email é verdadeiro ou fake). PS: No caso de email não costumo usar máscara.

  • @gilbertopsantosjr
    @gilbertopsantosjr Рік тому

    github ?

    • @drantunes
      @drantunes  Рік тому +1

      O código de base usado está aqui: github.com/drantunes/flutter_riverpod_demo