Meu plugin minha vida — Mascaras e Validações

Fala galera!

Campos com mascaras é o mínimo que exigimos de um sistema, para não precisar digitar os caracteres especiais na mão. Sério digitar / na data, é mandar o desenvolvedor tomar..

Quem ja programou em Windows Forms (Naquela época o Visual Studio era tudo mato) lembra do MaskedTextBox, com ele bastava dizer na propriedade o formato da mascara e era tudo alegria. O campo mais comum para textos em Xamarin.Forms é o Entry, e infelizmente ele não possui essa propriedade.

Porem, para ajudar a galera, eu criei o Xamarin.Forms.BehaviorValidationPack ! ( SIm dessa vez o titulo "MEU PLUGIN" é literal xD ) E com ele fica muito mais facil implementar validações e mascaras em campos!

Então vamos ver como utiliza-lo!

Vamos ao Nuget baixar o plugin Xamarin.Forms.BehaviorValidationPack e instalar apenas no projeto:

Pronto! Agora você pode ter acesso aos controles!

Vamos criar um arquivo Xaml simples e adicionar o namespace xmlns:behaviorPack=”clr-namespace:Xamarin.Forms.BehaviorValidationPack;assembly=Xamarin.Forms.BehaviorValidationPack” .

Em seguida podemos utilizar as mascaras e validações.

Por exemplo, se quisermos mascarar e validar um campo de CPF

Basta adicionar nos Behaviors do Entity as tags correspondentes.

Para mascara basta utilizar <behaviorPack:MaskedBehavior Mask=”sua mascara” /> , o X sera substituído automaticamente pelo campo a ser digitado.

Podemos colocar qualquer mascara, de acordo com a necessidade. Telefone : (XX)XXXX-XXXX, CEP: XXXXX-XXX, CNPJ : XX.XXX.XXX/XXXX-XX .. Etc! Não importa o formato, basta colocar o X para representa o input e os caracteres que deseja na mascara.

Para validar um campo, é necessario apenas adicionar o Behavior com a validação que deseja.

Veja abaixo um exemplo com diversas validações

Legal e simples não ?

Vamos rodar!

A mascara aparece conforme digitamos e caso o dado estiver incorreto

Ele fica em vermelho!

Hoje existem as validações :

  • DateValidationBehavior : Verifica se uma Data é Valida.
  • EmailValidationBehavior : Verifica se um e-mail é valido.
  • MaxLengthValidationBehavior : Limita o tamanho máximo de um Entry.
  • NumberValidationBehavior : Valida se existem apenas números no Entry.
  • PasswordValidationBehavior : Valida a "Força" da sua senha: Devem existir pelo menos 8 caracteres , sendo pelo menos: 1 numérico ,1 minúsculo, 1 maiúsculo e um caracter especial .
  • CEPValidationBehavior : Valida se um CEP é valido.
  • CNPJValidationBehavior : Valida se um CNPJ é valido.
  • CPFValidationBehavior : Valida se um CPF é valido.
  • CPFCNPJValidationBehavior : Valida se um CPF ou CNPJ é valido.

Certo, mas e se eu apenas quiser uma mascara mais simples, ao invés de usar esse pacote de Behaviors? 🤔

Não seja por isso, eu tenho outro plugin pra você ! e Se chama Xamarin.Forms.MaskedEntry ! Vamos configurar

Vamos ao nuget baixar o Xamarin.Forms.MaskedEntry

Pronto agora vamos usar!

Vamos criar um xaml simples e referenciar o controle xmlns:control=”clr-namespace:Xamarin.Forms.MaskedEntry;assembly=Xamarin.Forms.MaskedEntry”

Basta utilizar a propriedade Mask=”(XX)XXXX-XXXX” e seu problema esta resolvido.

A mascara funciona igual o plugin anterior, aparecendo conforme o usuario utiliza o campo.

Se quiser ver a documentação dos plugins e os exemplos de implementação, pode acessar os repositórios :

Xamarin.Forms.BehaviorValidationPack

Xamarin.Forms.MaskedEntry

Fico no aguardo de sugestões de validações para futuras versões dos plugins 😉

A e se você não sabe ou não entendeu direito o que é Behavior , fica ligado que vem um artigo logo mais :D

Espero ter ajudado!

Aquele abraço!

Microsoft MVP,Gamer, Desenvolvedor e apaixonado por tecnologia!

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store