Pessoal,

Nas telas de cadastro, além de validações de campos obrigatórios, tive que verificar se o cep e o email informado tinha o formato correto. Para isso usei as expressões regulares.

Mas o que são expressões regulares ? !

Conforme Aurélio Marinho Jargas  "É uma composição de símbolos, caracteres com funções especiais, que, agrupados entre si e com caracteres literais, formam uma sequência, uma expressão. Está expressão é interpretada como uma regra, que indicará sucesso se uma entrada de dados qualquer casar com essa regra, ou seja, obedecer exatamente a todas as suas condições.";

Como fazer ?!

No botão salvar existe um método de validação dos campos. Se todas as validações forem realizadas com sucesso é chamado método de inclusão, se não é exibida a mensagem informando que o campo obrigatório não foi preenchido ou foi preenchido incorretamente. 

Vamos ao método de validação (listagem 1) ...

 

private bool ValidarCampos()
{
    bool camposPreenchidos = true;
 
    if (txtCep.Text == string.Empty)
    {
        mensagem = "Informe o cep do cliente.";
        camposPreenchidos = false;
        txtCep.Focus();
        return camposPreenchidos;
    }
    else
    {
        if (!ValidaCep(txtCep.Text))
        {
            camposPreenchidos = false;
            mensagem = "O CEP informado é inválido. Por favor verifique.";
            txtCep.Focus();
            return camposPreenchidos;
        }
    }

    if (txtEmail.Text != string.Empty)
    {
         if (!IsValidEmail(txtEmail.Text))
        {
            camposPreenchidos = false;
            mensagem = "O e-mail informado é inválido. Por favor verifique.";
            txtEmail.Focus();
            return camposPreenchidos;
        }
    }

    return camposPreenchidos;
} 

private bool ValidaCep(string cep)
{
    if (cep.Length == 8)
    {
        cep = cep.Substring(0, 5) + "-" + cep.Substring(5, 3);
        txtCep.Text = cep;
    }
    return System.Text.RegularExpressions.Regex.IsMatch(cep, ("[0-9]{5}-[0-9]{3}"));
}

private bool IsValidEmail(string email)      
{
             // instancia um regex com a expressão desejada          
             Regex rg = new Regex(@"^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$");

            return rg.IsMatch(email); 
}

Listagem 1 - Código de validação.

 

Até o próximo post....

Qualquer dúvida entre em contato comigo..... 


Comentários

Diogo Brazil

quarta-feira, 17 de março de 2010 16:25

Diogo

Oi Fernanda,

Parabéns pelo artigo... deu para ter noção sobre Regex. Agora minha dúvida é, como faço para utilizar o regex como formatador. Pelo que percebi a forma como fizeste foi apenas para validar se estava correto a forma como fora escrito pelo usuário, não é?

Desde já agradeço sua ajuda!

Fernanda Sallai Brazil

quarta-feira, 17 de março de 2010 17:29

Fernanda Sallai

Oi Diogo,

Obrigada pelo comentário e fico feliz por ter gostado do meu artigo.

Correto eu realmente usei para validar o que o usuário digitou.

Sinceramente não usei ainda o regex para formatação. Frown

Vou pesquisar para tentar de ajudar, se achar alguma coisa encaminho no seu e-mail.

Comentar


(Vai mostrar seu Gravatar)

  Country flag

biuquote
  • Comentário
  • Pré-visualização
Loading



Fernanda Sallai

Sem a curiosidade que me move, que me inquieta, que me insere na busca, não aprendo nem ensino - Paulo Freire