Validando dados com a classe ArgumentValidator no C#
Conheça a classe ArgumentsValidator
E ai pessoal beleza?
Hoje gostaria de compartilhar com vocês uma classe que eu criei que nos auxilia na validação de dados. Há ideia é nos facilitar na validação e garantir que os parametros ou argumentos passados nos métodos sejam atendidos conforme nós esperamos, caso contrário poderemos subir uma exceção com as mensagens ou retornar elas para nosso cliente.
Cenário comum que queremos resolver
É muito comum ao submeter um formulário de tela de cadastro nós recebemos alertas ou mensagens que um determinado campo é obrigatório. Nosso cliente preenche o campo e ao submeter o formulário ele recebe outra mensagem que outro campo também é obrigatório.
Com o objetivo de resolver está situação eu criei a classe ArgumentsValidator que irá nos auxiliar com este problema.
Resolvendo o cenário acima com ArgumentsValidator
Para usarmos a classe ArgumentsValidator, utilize o prompt de comando Package Manager Console do seu Visual Studio e digite o comando abaixo:
1 |
Install-Package prmToolkit.ArgumentsValidator |
Vídeo de como utilizar a classe ArgumentsValidator
Veja um exemplo de como utilizar
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
using prmToolkit.Validation; using System; namespace prmToolkit.Aula.ArgumentValidator { public class Usuario { #region Propriedades public int Id { get; private set; } public string Nome { get; private set; } public string Email { get; private set; } public string Senha { get; private set; } public bool Ativo { get; private set; } #endregion public Usuario(string nome, string email, string senha) { this.Nome = nome; this.Email = email; this.Senha = senha; } public void AlterarSenha(string senhaAtual, string novaSenha, string confirmacaoSenha) { //CASO O METODO QUEBRE O CONTRATO, TEMOS AS SEGUINTES OPCOES PARA TRABALHAR //Lança uma exceção individual RaiseException.IfFalse(this.Ativo, "Usuário está inativo!", true); //lança exceção em grupo, com várias mensagens ArgumentsValidator.RaiseExceptionOfInvalidArguments( RaiseException.IfNotEquals(senhaAtual, this.Senha, "Senha atual inválida!"), RaiseException.IfNotEquals(novaSenha, confirmacaoSenha, "A senha não confere!") ); //Obtém lista de mensagens var mensagens = ArgumentsValidator.GetMessagesFromExceptions( RaiseException.IfNotEquals(senhaAtual, this.Senha, "Senha atual inválida!"), RaiseException.IfNotEquals(novaSenha, confirmacaoSenha, "A senha não confere!") ); //Obtém lista de exceptions levantadas var xxxx = ArgumentsValidator.GetExceptionList( RaiseException.IfNotEquals(senhaAtual, this.Senha, "Senha atual inválida!"), RaiseException.IfNotEquals(novaSenha, confirmacaoSenha, "A senha não confere!") ); this.Senha = novaSenha; } } } |
Obtenha mais informações sobre a instalação no site do NuGet
https://www.nuget.org/packages/prmToolkit.ValidateArgument/
Baixe o fonte do projeto em meu GitHub https://github.com/pauloanalista
Bom espero que tenham gostado da dica, até a próxima!
About author
You might also like
Aprenda AngularJS 2 com Nicolas Takashi
Share this on WhatsAppVeja agora vídeo aulas interessantes sobre AngularJS 2 Atualmente tenho estudado um pouco do framework Ionic 2 e meu primeiro contato com o AngularJS 2 foi através
PontoCanal disponibiliza curso gratuito de Bootstrap 3
Share this on WhatsAppAprenda tudo sobre Bootstrap 3 Bootstrap é um framework front-end de código aberto (opensource) que foi desenvolvido pela equipe do Twitter. Este framework é compatível com HTML5
Conheça alguns atalhos do Visual Studio que irão agilizar seu dia!
Share this on WhatsAppConheça agora atalhos interessantes para usar no Visual Studio Sabemos que o mouse facilita muito o nosso dia a dia, com ele clicamos em menus, arrastamos documentos,
4 Comments
Nelson
junho 23, 15:40paulorogerio
junho 24, 23:53Anderson
junho 24, 23:41Paulo Rogério
junho 27, 23:30