Aprenda como validar dados com PHP

Aprenda como validar dados com PHPNo post de hoje vou demonstrar como validar dados com PHP, serão diversos exemplos com validações simples como verificar o data type de um valor até funções mais complexas para validar documentos.

O objetivo desse post não é “reinventar a roda”, não vou desenvolver funções do zero pois já existem diversas espalhadas pela WEB, inclusive o próprio PHP já fornece muitas funções nativas, minha intenção é que esse post seja um ponto central para consultar as mais variadas funções e REGEX para validações.

 

Validar dados com PHP

  • Valida se é do tipo Array()
  • Valida se é do tipo String
  • Valida se é do tipo Integer
  • Valida o formato do E-mail
  • Valida o CPF
  • Valida o CNPJ
  • Valida o formato da Data
  • Valida a extensão do Arquivo
  • Valida o CEP
  • Valida formato do número de Telefone
Post relacionado:  Não perca essa dica de como personalizar mensagens na validação de formulários no HTML5

Tipo Array

O PHP possui várias funções nativas para validações de tipo, entre elas temos “is_array()”, essa função retorna TRUE ou FALSE na verificação se o valor passado como parâmetro é um “ARRAY”.

Importante citar que estamos validando a estrutura e não está sendo verificado os valores de cada elemento do Array():

 

Tipo String

Podemos usar outra função nativa do PHP “is_string()” para validar se o valor passado como parâmetro é do tipo “STRING”, o retorno é booleano (TRUE ou FALSE), essa é fácil identificar porque o valor está delimitado com apóstrofos:

 

Tipo Integer

Mais uma função nativa “is_integer()”, essa função valida se o valor passado como parâmetro é do tipo “INTEGER” e retorno TRUE ou FALSE:

Um detalhe importante, se for passado como parâmetro uma variável com valores delimitados por apóstrofo ou aspas, o retorno da função “is_integer()” será FALSE:

 

Formato de E-mail

Mais uma vez o PHP nos ajuda com filters, fornecendo diversos tipos de validação e para validar e-mails existe uma opção “FILTER_VALIDATE_EMAIL” que retorna TRUE ou  FALSE:

Se o leitor preferir uma rotina usando REGEX para validar e-mail, segue abaixo uma opção:

 

Validar CPF

Essa função para validar CPF coletei na internet já tem um tempo, mas infelizmente não me lembro o nome do autor para dar os créditos, basicamente recebe o CPF como parâmetro e retorna TRUE ou FALSE:

 

Validar CNPJ

Abaixo tem outra função que peguei na internet mas também não tenho o nome do autor, essa função valida se o CNPJ é válido e retorna TRUE ou FALSE:

 

Validar Data

Para validar se o formato de uma data está correto o PHP fornece a função “checkdate()“, ela recebe 3 parâmetros (mes, dia, ano), para usar é necessário apenas executar a função “explode” para separar os valores de uma data enviada pelo usuário:

 

Validar Extensão de Arquivo

Quando estamos trabalhando com upload de imagens no PHP, recebemos após uma submissão de formulário a variável “$_FILES[]” que contém todos os dados do arquivo enviado pelo upload.

É sempre uma boa prática validar se a extensão desse arquivo é aceita, pois formulários de upload acabam sendo um porta para invasões, a rotina abaixo ajuda nessa validação:

 

Validar o CEP

Validação de CEP é sempre complicado, o que podemos fazer para reduzir erros é validar a estrutura do CEP usando um REGEX, sugiro colocar uma máscara com JavaScript no front-end assim evita que os usuários digitem sujeiras no campo CEP:

 

Validar número de Telefone

Validação de telefone principalmente número de celular se tornou outra dor de cabeça depois que adicionaram mais um dígito, porém essa alteração não vale para todos os estados então sempre fica a dúvida de aceitar ou não esse dígito.

Uma saída é usar um REGEX que aceite os 2 formatos, número de celular com com 9 dígitos e com 8 dígitos:

Post relacionado:  Validar Formulário usando JavaScript

Chegando ao fim de mais um post, postei vários exemplos de como validar dados com PHP, caso surgirem mais algumas rotinas irei acrescentando, se o leitor tiver uma sugestão pode deixar na seção de comentários.

Espero que tenham gostado, até a próxima

Show Buttons
Hide Buttons