O X do Xamarin Forms — Fluent Validation

Thiago Bertuzzi
3 min readNov 10, 2020

Fala galera,

tudo beleza?

Validação de formulários, se o e-mail esta preenchido, se o campo esta correto .. tudo isso faz parte de aplicativos que utilizem telas de cadastro ou de "Input".

Existem diversas formas de validação que podem ser feitas para esse tipo de campo, inclusive uma delas utilizando mascaras e validações conforme demonstrei nesse artigo aqui.

Existe uma outra forma muito legal para quem esta acostumado a trabalhar com C# e quer realizar validações: É Possível utilizar o Famoso Fluent Validation ! Sim o mesmo que você utiliza em suas aplicações Web , Apis e etc.

Bora ver como?

Configurando o Fluent Validation e nosso exemplo

Antes de mais nada, vamos ao nosso querido Nuget instalar o Pacote FluentValidation em nosso projeto compartilhado:

Para facilitar a nossa vida vamos adicionar o MVVM Helpers, que você pode ver como nesse artigo clicando aqui.

Simples! Agora vamos preparar nosso projeto, criando uma Model simples :

E nossa tela :

Pronto, com isso podemos brincar com o Fluent.

Utilizando o Fluent Validation

Vamos criar um Validator para nosso model Pessoa implementando um AbstractValidator<T>, graças a ele podemos definir Roles para nossas propriedades :

A Ideia é bem simples : utilizar RuleFor para qual campo quer validar, em seguida as regras que você quer utilizar. Notem que em todas eu coloquei que não deve ser nulo ou vazio seguido de um WithMessage.

WithMessage nos permite adicionar qual mensagem sera exibida caso aquela regra não seja obedecida. É possível utilizar uma WithMessage especifica para cada tipo de Validator, assim como fiz no E-mail utilizando uma role própria EmailAdress.

Existem diversos Validators que podem ser utilizados a lista completa pode ser conferida aqui. É possível criar suas próprias regras também o que cria uma extensão incrível a diversas possibilidades.

Muito bem , agora vamos implementar a validação ao apertar o botão validar :

Basicamente devemos declarar nosso validator e chama o método Validate passando nosso Objeto. Pronto! o Fluente faz tudo para nós, inclusive nos envia uma lista de erros com todas as validações incorretas :

Muito legal não?

Existem outras funcionalidades bem legais no fluent e se vocês quiserem eu faço uma parte 2 mostrando mais coisas :).

Caso queira ver um exemplo citado no artigo: Clique aqui.

Quer ver outros artigos sobre Xamarin ? Clique aqui.

Espero ter ajudado!

Aquele abraço!

--

--

Thiago Bertuzzi

Microsoft MVP,Gamer, Desenvolvedor e apaixonado por tecnologia!