Baixe o app para aproveitar ainda mais
Prévia do material em texto
Validação de Formulário Bairro da Juventude dos Padres Rogacionistas CEP - Centro de Educação Profissional Instrutor: Prof. João Manuel De Carlo Por que Validar? Segurança (input são janelas para o sistema); Validação (verificar se os dados fazem sentido); Garantir a qualidade da aplicação; Usuários podem cometer erros; Atualmente, não existe a possibilidade de deixar campos de formulários online sem validação. Onde Validar? No cliente – evita que as informações cheguem desnecessariamente ao servidor e banco de dados; No servidor – para não permitir dados errôneos no banco de dados ou dados incompletos. A validação pode utilizar uma função pronta ou o usuário montar suas próprias restrições. OBSERVAÇÃO: Do que vale um cadastro de CLIENTES, se não há e-mail, telefone ou endereço para contatá-los! Regras de Validação Campos em branco: Não se deve permitir campos sem preenchimento em um formulário; Campos numéricos: Campo onde deverá aceitar apenas números; Campos de URL: Campo onde deverá aceitar apenas links da Internet; Campos de e-mail: Campo onde deverá aceitar apenas e-mails válidos; Campos de texto: Campo responsável por aceitar tudo que o usuário digitar no HTML. Funções EMPTY( ) e ISSET( ) Em todo formulário que iremos criar deveremos verificar a sua validação, se existe resposta ou não para determinada pergunta, e caso tenha resposta mostrar todas as soluções possíveis. Existe duas funções que são muito uteis para realização disso, são elas: empty() e a isset(). Ambas servem, praticamente, para a mesma coisa, porém o que modifica é a ordem da resposta, como veremos a seguir. Função EMPTY( ) Serve para saber se uma variável é vazia. Ela retornará true (verdadeiro) quando uma variável for vazia e false (falso) quando uma variável não for vazia. Exemplo: <?php // Recebe um campo de um formulário $nome = $_POST['nome']; // Verifica se o usuário digitou o seu nome if (empty($nome)) { echo "Por favor, preencha o seu nome."; } ?> Função EMPTY( ) Exemplo: <?php $var = "diferença"; /*$var = null;*/ // Será interpretado como TRUE imprimindo o texto. if (empty($var)) { echo "Não existe valor na variável."; } else{ echo "Existe valor na variável."; } ?> Função ISSET( ) Serve para saber se uma variável existe. Ela retornará true (verdadeiro) quando uma variável existir e false (falso) quando uma variável não existir. Exemplo: <?php // Recebe um campo de um formulário $nome = $_POST['nome']; // Verifica se o usuário digitou o seu nome if (isset($nome)) { echo “Nome: $nome"; } ?> Função ISSET( ) Exemplo: <?php $var = null; /* $var = ‘ ’; */ // Será interpretado como TRUE imprimindo o texto. if (isset($var)) { echo "Essa variável existe."; } else{ echo "Essa variável não existe."; } ?> Validando Tipos de Dados Utiliza-se normalmente a função filter_var( ) para filtrar a variável de modo especificado, através de seu tipo. Por exemplo, verificar se uma variável é um numero inteiro ($int). Se $int é um número inteiro, logo a sua saída será “Número inteiro é válido". Senão $int não é um número inteiro, logo a saída será “Número inteiro não é válido“. Exemplo utilizando número <?php $int = 10; if (filter_var($int, FILTER_VALIDATE_INT) == true) { echo " Número inteiro é válido"; } else { echo " Número inteiro não é válido "; } ?> Exemplo utilizando número Dica: filter_var( ) e problema com 0 Se $int foi definido como 0, a função acima irá retornar “Número inteiro não é válido". Para resolver esse problema, use o código abaixo: <?php $int = 0; if (filter_var($int, FILTER_VALIDATE_INT) == 0 or filter_var($int, FILTER_VALIDATE_INT) == true) { echo " Número inteiro é válido"; } else { echo " Número inteiro não é válido "; } ?> Exemplo utilizando email <?php $email = "joao@joao.com"; if (filter_var($email, FILTER_VALIDATE_EMAIL) == true) { echo "$email - o endereço de email é valido"; } else { echo "$email - o endereço de email não é valido"; } ?> Exemplo utilizando URL <?php $url = "http://www.google.com.br"; if (filter_var($url, FILTER_VALIDATE_URL) == true) { echo "$url é uma URL válida"; } else { echo "$url é uma URL não válida"; } ?> Validação – 1 CHECKBOX Validar o seguinte formulário: Segue formulario – 1 checkbox.zip Validação - VÁRIOS CHECKBOXES Validar o seguinte formulário: Segue formulario – varios checkboxes.zip Validação no HTML Além da validação em PHP, podemos também realizar algumas validações no HTML. Evitando com isso, sobrecarga do servidor e restringindo inserções desnecessárias do usuário. Para realizar este processo utilizamos os atributos “PATTERN” e/ou “REQUIRED”. Ao adicionar um destes atributos, faz-se obrigatório a inserção de dados nos respectivos campos antes de enviar o formulário. Caso não seja inserido, o navegador retornará uma mensagem de advertência. Validação no HTML Número <html> <body> <form action="servidor.php" method="post"> <p>Número:</p> <input type="text" name="numero" pattern="[0-9]+$" required/><br> <input type="submit" value="Enviar"> </form> </body> </html> Validação no HTML CPF <html> <body> <form action="servidor.php" method="post"> <p>CPF:</p> <input type="text" name=“cpf" pattern="^\d{3}.\d{3}.\d{3}-\d{2}$” title="Formato (xxx.xxx.xxx-xx)“ required/><br> <input type="submit" value="Enviar"> </form> </body> </html> Validação no HTML Placa de Carro <html> <body> <form action=“servidor.php" method="post"> placa <input type = "text" name="placa" pattern= "[A-Z]{3}-\d{4}" title = "XXX-XXXX“ required/><br> <input type="submit" value="ENVIAR"/> </form> </body> </html> Validação no HTML Senha <html> <body> <form action="servidor.php" method="post"> Senha: <input type="password" name="senha" pattern=".{6,}” title="Senha com 6 ou mais caracteres“ required/> <input type= "submit" value="ENVIAR"/> </form> </body> </html> Validação no HTML Telefone <html> <body> <form action="servidor.php" method="post"> <p>Telefone </p> <input type="tel" name="telefone" pattern="^\d{2}-\d{5}-\d{4}$" title = “(formato: xx-xxxxx-xxxx)” required/></br> <input type="submit" value="Enviar"> </form> </body> </html> Referências http://html5pattern.com/ http://php.net/manual/pt_BR/filter.constants.php http://php.net/manual/pt_BR/function.empty.php http://php.net/manual/pt_BR/function.filter-var.php http://php.net/manual/pt_BR/function.isset.php http://www.w3schools.com/
Compartilhar