voce quem sabe, noc aso voce chama a função por callback como diz na documentação, é so pegar e ler, tem que procurar mais, aí voce acha o que deseja na documentação está bem completa e intuitiva
http://kohanaframework.org/3.0/guide/kohana/security/validation#adding-rules Em 14 de janeiro de 2014 10:59, DS interativa | PHP Grupos < [email protected]> escreveu: > entendi, mas na aplicação que tenho aqui, preciso usar no formato atual > para não sair do padrao, teria que ter uma rule que usa a função do ORM sem > extender o ORM diretamente... > > > > Em 14/01/2014 10:55, Douglas J.A.M escreveu: > > No meu caso eu fiz uma extensão cascuda, eu curto minha implementação e > utilizo ela a anos, atenção para as reticencias que significam trechos de > código ocultos, voce pode adicionar qualquer parada aí, ou fazer do jeito > padrão extendendo o Valid. > > *classe application/classes/ORM.php* > > ... > public function check(Validation $extra_validation = NULL) { > return parent::check($extra_validation) && > parent::check($this->valida()); > } > > public function valida() { > return null; > } > ... > > > *classe do model especifico* > > ... > > public function valida() { > > $validation = $this->validation(); > > if ($validation['tipopessoa'] == 'FÍSICA') { > > if (Helper_STRING::isNull($validation['cpf']) || > Helper_STRING::isNull($validation['rg']) || > Helper_STRING::isNull($validation['rgorgao']) || > Helper_STRING::isNull($validation['rgexpedicao']) || > Helper_STRING::isNull($validation['cnh']) || > Helper_STRING::isNull($validation['cnhcategoria'])) { > $validation->error('tipopessoa', 'fisica_not_empty'); > } else if (!Valid::cpf($validation['cpf'])) { > $validation->error('cpf', 'cpf'); > } > ... > > if ($validation->errors()) > throw new ORM_Validation_Exception($this->errors_filename(), > $validation); > > return $validation; > > ... > > *classe application/classes/valid.php* > > > public static function cpf($cpf) { > > $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; > } > } > > > > > Em 14 de janeiro de 2014 10:49, DS interativa | PHP Grupos < > [email protected]> escreveu: > >> pessoal, como eu poderia fazer para colocar uma validação de cpf dentro >> do model ORM de clientes >> >> queria saber se ja tem na base e se é valido !! >> >> no caso de valido, tenho um arquivo a parte chamado funcoes.php com uma >> classe aux e um metodo estatico para validar >> >> >> alguem ai poderia me ajudar ?? >> estou usando o ko3.3 >> >> valeu >> >> -- >> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana >> Php" dos Grupos do Google. >> Para cancelar a inscrição neste grupo e parar de receber seus e-mails, >> envie um e-mail para [email protected]. >> Para postar neste grupo, envie um e-mail para [email protected] >> . >> Visite este grupo em http://groups.google.com/group/kohana-php. >> Para obter mais opções, acesse https://groups.google.com/groups/opt_out. >> > > -- > Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana > Php" dos Grupos do Google. > Para cancelar a inscrição neste grupo e parar de receber seus e-mails, > envie um e-mail para [email protected]. > Para postar neste grupo, envie um e-mail para [email protected]. > Visite este grupo em http://groups.google.com/group/kohana-php. > Para obter mais opções, acesse https://groups.google.com/groups/opt_out. > > > -- > Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana > Php" dos Grupos do Google. > Para cancelar a inscrição neste grupo e parar de receber seus e-mails, > envie um e-mail para [email protected]. > Para postar neste grupo, envie um e-mail para [email protected]. > Visite este grupo em http://groups.google.com/group/kohana-php. > Para obter mais opções, acesse https://groups.google.com/groups/opt_out. > -- Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" dos Grupos do Google. Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para [email protected]. Para postar neste grupo, envie um e-mail para [email protected]. Visite este grupo em http://groups.google.com/group/kohana-php. Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
