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!
Configurando o plugin
Vamos ao Nuget baixar o plugin Xamarin.Forms.BehaviorValidationPack e instalar apenas no projeto:
Pronto! Agora você pode ter acesso aos controles!
Utilizando o Plugin
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
Configurando o outro plugin
Vamos ao nuget baixar o Xamarin.Forms.MaskedEntry
Pronto agora vamos usar!
Utilizando o outro Plugin
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
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!