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 cake-php-pt@googlegroups.com
 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
-~----------~----~----~----~------~----~------~--~---

Responder a