Você pode criar suas proprias funções e passar parametros para elas...
exemplo a função abaixo verifica se um determinado campo já está
cadastrado na base de dados
function isUnique($value, $params) {
$field = $params['unique_field'];
$val = $this->data[$this->name][$field];
$db = $this->name . '.' . $field;
$id = $this->name . '.id';
if($this->id == null ) {
return(!$this->hasAny(array($db => $val ) ));
} else {
return(!$this->hasAny(array($db => $val, $id =>
'!='.$this-
>id ) ) );
}
}
nesse caso como é uma verificação mais genérica eu ponho ela no /app/
app_model.php mas ela pode ser posta num determinado model de qualquer
forma.
chamo ela nos models da seguinte forma
var $validate = array('campo' => array ('unique' => array ( 'rule' =>
'isUnique', 'unique_field' => 'name')),
e para definir a mensagem (costumo fazer isso no view)
faco assim no input:
echo $form->input('field', 'error' => array ('unique' => 'O campo já
esta cadastrado'));
acho que ilustra bem como funciona as verificações costumizadas ne
On Jan 19, 12:59 am, "Joao Jose Pedrini" <[EMAIL PROTECTED]> wrote:
> Seria algo como isso?
>
> http://tempdocs.cakephp.org/#TOC133258
>
> 2008/1/17 DJ Spark <[EMAIL PROTECTED]>:
>
>
>
>
>
> > provavelmente, além das regras 'prontas' , voce motnaria suas
> > proprias regras...
> > usando $this->Modelo->validate();
>
> > A API lista um método 'userdefined()' onde um dos argumentos é uma
> > função que fará a validação especial...
> > http://api.cakephp.org/1.2/class_validation.html
>
> > Alguém já usou isso ? tem algum exemplo ?
>
> > Spark
>
> > 2008/1/17 Rodrigo Maia <[EMAIL PROTECTED]>:
>
> > > Olá pessoal, como seria se não desse para fazer uma validação usando
> > > expressão regular?
>
> > > Por exemplo, tornar um campo obrigatório caso um outro campo for
> > > selecionado.
> > > Ou quando um campo for maior que 200 caracteres.
> > > Ou se a data preenchida no form for maior que a data atual dar erro
>
> > > E assim vai.
>
> > > Como ficaria?
>
> > --
> > [livesets]http://djspark.com.br/
> > [web]http://sydi.net
> > [filmes]http://melhoresfilmes.com.br
>
> --
> Joao Jose Pedrini
> [EMAIL PROTECTED]
> Co nsultor - COP-JRhttp://blog.copjr.info/
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito no Grupo "Cake PHP Português"
em Grupos do Google.
Para postar neste grupo, envie um e-mail para [email protected]
Para cancelar a sua inscrição neste grupo, envie um e-mail para [EMAIL
PROTECTED]
Para ver mais opções, visite este grupo em
http://groups.google.com/group/cake-php-pt?hl=pt-BR
-~----------~----~----~----~------~----~------~--~---