Deletado em 4 de maio de 2009

Validações de Dados no C#

Frequentemente precisamos fazer validações em dados providos de usuários. Geralmente essas validações são por meio de linguagens client script como o JavaScript.

Porém, e se quisermos fazer essas validações no C#, deixando o trabalho para o servidor? Como saber se o dado de input do usuário é do tipo que esperamos?

Podemos, para solucionar essas questões, utilizar o método TryParse dos tipos de dados. Esse método existe na maioria dos tipos de dados nativos do C#.

Esse método, como o próprio nome já diz, tenta dar um Parse em uma string para o valor a qual o método é chamado. Se o Parse for realizado com sucesso ele retorna o valor para uma variável do mesmo tipo.

Vamos criar um método para verificar se meu tipo de dado realmente é um inteiro:

public bool IsInteiro(string Valor, out int Resultado)
{
    return int.TryParse(Valor, out Resultado);
}

O Método fica muito simples, recebe o valor que será testado e outro valor que será a saída, caso o resultado for um realmente um inteiro.

Para testar, no nosso Page Load vamos fazer a validação:

protected void Page_Load(object sender, EventArgs e)
{
    int numI;

    Response.Write((IsInteiro("5", out numI)) ? numI.ToString() : "Não é um Inteiro");
}

Neste caso, seria exibido o número 5 normalmente. Se alterarmos o “5” para “5aa” seria exibido a mensagem “Não é um Inteiro”.

Poderíamos validar, como disse antes, outros tipos de dados, como o DateTime por exemplo:

public bool IsData(string Valor, out DateTime DataResult)
{
    return DateTime.TryParse(Valor, out DataResult);
}

Assim, aprimorando nossa validação:

protected void Page_Load(object sender, EventArgs e)
{
    int numI;
    DateTime data;

    Response.Write((IsInteiro("5", out numI)) ? numI.ToString() : "Não é um Inteiro");
    Response.Write((IsData("30/02/2009", out data)) ? data.ToString() : "Não é um Data valida");
}

Onde, neste caso, seria exibida a mensagem "Não é um Data valida".

Conclui-se que podemos fazer verificações de dados em qualquer linguagem, e no C# não é diferente, basta o desenvolvedor ver qual ação apropriada para seu projeto e utilizá-la do modo mais simples e reutilizável possível.

Abraços, até a próxima!

0 comentários:

Postar um comentário

Jogue sua opinião na lixeira!

Topo