Como validar números no formulário Web Campos

Validando números em um formulário web pode envolver uma expressão regular, se você está esperando um determinado formato ou o número de dígitos, ou pode envolver matemática, se você está procurando certos valores (ou poderia ser tanto também).

validação CEP apresenta um caso mais fácil, então você lidar com isso primeiro. Você precisa validar que somente dígitos foram inseridos no campo ZIP e que há pelo menos cinco anos e não mais de nove dígitos no campo. Você poderia fazer isso com uma única expressão regular, mas isso iria impedi-lo de retornar uma mensagem de erro específica:

Você não saberia se os usuários preenchidos em letras ou se eles só tinham quatro dígitos no campo ZIP. Portanto, o método que no próximo exercício separa esses dois testes em seu próprio condicional.

Este código pode ser adicionada por cima da secção de disposição final:

if (isset ($ _ POST [ 'zip']) $ _ POST [ 'zip']! = "") {If (! Preg_match ( '/ ^ [d] + $ / ", $ _ POST [' zip '])) {$ _SESSION [' error '] [] =" ZIP deve ser apenas dígitos. "-} else if (strlen ($ _ POST [ 'zip']) lt; 5 || strlen ($ _ POST [ 'zip'])> 9) {$ _SESSION [ 'error'] [] = "ZIP deve ser entre 5 e 9 dígitos" -}}

O código primeiro verifica para ver se o ZIP está definido. Se ele estiver definido e não está vazia, então a próxima verificação é para ver se ele contém apenas dígitos. Se ele contém algo diferente de dígitos, então não há necessidade de executar o próximo teste. Se dígitos são tudo o que é encontrado, então a próxima verificação pode ser executado, para garantir que o comprimento é de entre 5 e 9 dígitos.

Validando o número de telefone usa a mesma lógica. Se o campo do telefone estiver definido e não em branco, em seguida, verifique se ele contém apenas dígitos. Em seguida, o comprimento é verificado para ter certeza que é pelo menos dez dígitos. Você também pode adicionar uma verificação de comprimento máximo aqui, mas este será responsável por números internacionais também.

o PHONETYPE campo é verificada seguinte. Se ele não está definido (e você sabe que é exigido porque você está dentro de um teste condicional verificando se o número de telefone foi definido), então você retornar um erro. Supondo que ele é de fato definido, verifique o valor para ter certeza que é um dos valores aceitáveis ​​para o campo, semelhante ao que é feito na seção anterior para o estado suspenso.

Este código pode ser adicionada por cima da secção de disposição final em form-process.php.

if (isset ($ _ POST [ 'telefone']) $ _ POST [ 'telefone']! = "") {If (! Preg_match ( '/ ^ [d] + $ / ", $ _ POST [' telefone '])) {$ _SESSION [' error '] [] =" número de telefone deve ser apenas dígitos "-} else if (strlen ($ _ POST [ 'telefone']) lt; 10) {$ _SESSION [ 'error'] [] = "número de telefone deve ser pelo menos 10 dígitos" -} if (isset ($ _ POST [ 'PHONETYPE']!) || $ _POST [ 'PHONETYPE'] == " ") {$ _SESSION [ 'error'] [] =" escolha um tipo de número de telefone "-} else {$ validPhoneTypes = array (" trabalho "," casa ") - if (! in_array ($ _ POST [ 'PHONETYPE' ], $ validPhoneTypes)) {$ _SESSION [ 'error'] [] = "Por favor escolha um tipo de número de telefone válido." -}}}

menu