Como criar uma função de validação para um formulário de página da Web

o filter_var função vai um longo caminho em direção a fornecer validação automatizada para elementos de formulário comuns. Se você começar a trabalhar com formas, você vai achar que você precisa para validar as mesmas coisas repetidas vezes, como CEP ou Estado, também. Infelizmente, não existem quaisquer funções PHP built-in para validar um código postal ou estado. Mas não há nada que impeça você de criar um!

função is_valid_state ($ Estado) {$ validStates = array ( "Alabama", "California", "Colorado", "Florida", "Illinois", "New Jersey", "New York", "Wisconsin") - se (in_array ($ estado, $ validStates)) {return true-} else {return falso-}} // função is_valid_state final

Esta função aceita um argumento do Estado para verificar. O estado é verificado em relação a lista de estados conhecidos. Se o estado é encontrada entre essa lista, a função retorna booleano verdade, o que significa que é um estado válido.

is_valid_zip function ($ zip) {if (preg_match ( '/ ^ [d] + $ / ", $ zip)) {return true-} else if (strlen ($ zip) == 5 || strlen ($ zip) = = 9) {return true-} else {return falso-}} // função is_valid_zip final

Como a função de estado, a função ZIP também aceita um argumento de entrada, desta vez o CEP para validar. As mesmas verificações básicas de validação são realizadas nesta função como estavam na versão não-funcionalizada do form-process.php Arquivo. Se o ZIP é apenas dígitos e é ou cinco ou nove dígitos, então booleana verdade returned- é de outro modo, falso é devolvido.

Na maioria dos casos, você iria criar essas funções em um arquivo externo e, em seguida, exigir que os arquivos sempre que necessário através require_once () ou através de seu processo de carregamento automático. Por exemplo, se você incluiu essas funções de validação em um arquivo chamado validation.inc e, em seguida, utilizada a seguinte linha na parte superior da form-process.php Arquivo.

require_once ( "validation.inc") -

alterando o form-process.php arquivo para usar essas funções se parece com isso:

if (isset ($ _ POST [ 'state']) $ _ POST [ 'state'] = "") {if) {$ _SESSION [ 'error'] [] = (is_valid_state ($ _ POST [ 'state']!) "Por favor, escolha um estado válido" -}} if (! isset ($ _ POST [ 'zip']) $ _POST [ 'Zip'] = "") {if) {$ _SESSION [ 'error'] [] = (is_valid_zip ($ _ POST [ 'zip']!) "Erro CEP." -}}!

menu