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] <mailto:[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]
<mailto:kohana-php%[email protected]>.
Para postar neste grupo, envie um e-mail para
[email protected] <mailto:[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.