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!