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.

Responder a