E para fechar a série de validações em formulários, só falta a validação de CPF.
Essa função deve ser inserida no final do arquivo "Form_validation.php" que geralmente se encontra em: "/* Location: ./system/libraries/Form_validation.php */"
Obs: Nessa função, o formato do CNPJ deve ser: 000.000.000-00
Sem os pontos, barra e traço apresentará erro!!
Função:
/** * Verifica se o CPF informado é valido * @param string * @return bool */ function valid_cpf($cpf) { // Verifiva se o número digitado contém todos os digitos $cpf = str_pad(preg_replace('/[^0-9]/', '', $cpf), 11, '0', STR_PAD_LEFT); // Verifica se nenhuma das sequências abaixo foi digitada, caso seja, retorna falso if (strlen($cpf) != 11 || $cpf == '00000000000' || $cpf == '11111111111' || $cpf == '22222222222' || $cpf == '33333333333' || $cpf == '44444444444' || $cpf == '55555555555' || $cpf == '66666666666' || $cpf == '77777777777' || $cpf == '88888888888' || $cpf == '99999999999') { return FALSE; } else { // Calcula os números para verificar se o CPF é verdadeiro for ($t = 9; $t < 11; $t++) { for ($d = 0, $c = 0; $c < $t; $c++) { $d += $cpf{$c} * (($t + 1) - $c); } $d = ((10 * $d) % 11) % 10; if ($cpf{$c} != $d) { return FALSE; } } return TRUE; } } // --------------------------------------------------------------------
Não se esqueça de adicionar a seguinte linha no arquivo de mensagens de erro de validação de formulários:
$lang['valid_cpf'] = "O campo %s não é um CPF válido. Use o formato 000.000.000-00";
Para chamar a validação do formulário em um controller, utilize e seguinte linha:
$this->form_validation->set_rules('cpf', 'CPF', 'required|valid_cpf');
Duvidas?? Deixe um comentário...