Uso del validates_uniqueness_of

34 views
Skip to first unread message

Henry Malas

unread,
Jan 8, 2010, 10:26:29 AM1/8/10
to kum...@googlegroups.com

Buenos días a todos.

 

 

 

Tengo un problema con la validación única. Cuando inserto una empresa funciona bien(si alguna tiene ese cif, no deja continuar, si es nuevo, añade sin problemas), pero cuando quiero modificar una empresa también me informa que el CIF ya existe y no me deja actualizarla.

 

 

 

No sé si lo estoy usando mal o que pasa. Trabajo con SPIRIT. He probado dos

formas:

 

 

 

Forma 1:

 

 

 

class Empresas extends ActiveRecord {

 

           public function initialize()

 

                               {

                                 $this->validates_uniqueness_of('CIFEmpresa','message: Error. La empresa ya sido cargada previamente en el sistema);

                               }

 

}

 

 

 

Forma 2:

 

 

 

class Empresas extends ActiveRecord {

 

                public $before_validation="validar";

 

 

              public function validar(){  

 

                                $this->validates_uniqueness_of('CIFEmpresa','message: Error. La empresa ya sido cargada previamente en el sistema);

 

 }

 

}

 

 

 

El comportamiento anómalo se produce al intentar modificar una empresa. He buscado en el foro y en el grupo y no encuentro nada al respecto.

 

 

 

Un saludo a todos y gracias.

sefsinalas

unread,
Jan 13, 2010, 5:12:52 AM1/13/10
to KumbiaPHP Framework
A mi me pasa exactamente lo mismo...no entiendo si hago algo mal o si
es un error del framework.

Deivinson Tejeda

unread,
Jan 13, 2010, 7:15:40 AM1/13/10
to kum...@googlegroups.com
Deben utilizar el callback before_create para validar eso, porque resulta que una validacion unique la toma tambien al momento de actualizar...

2010/1/13 sefsinalas <sefsi...@gmail.com>
A mi me pasa exactamente lo mismo...no entiendo si hago algo mal o si
es un error del framework.

--
Viva KumbiaPHP Framework!
 http://www.kumbiaphp.com/
 Ha recibido este mensaje porque está suscrito a Grupo "KumbiaPHP Framework" de Grupos de Google.
 Para obtener más opciones, visita este grupo en http://groups.google.com/group/kumbia?hl=es.



--
Deivinson Tejeda (CaChi)
KumbiaPHP Framework Developer
http://www.kumbiaphp.com

Twitter @DeivinsonTejeda

sefsinalas

unread,
Jan 13, 2010, 4:34:32 PM1/13/10
to KumbiaPHP Framework
Intente hacer lo siguiente pero no funciono:
public $before_create="aux_before_create";
public function aux_before_create(){
$this->validates_uniqueness_of('usuario', 'message: Ya existe ese
usuario.');
}

pero lo solucione haciendo asi:
public $before_create="aux_before_create";
public function aux_before_create(){
if($this->exists("usuario='".$this->usuario."'")){
Flash::error('Ya existe ese usuario.');
return 'cancel';
}
}

Deivinson Tejeda

unread,
Jan 14, 2010, 7:23:44 AM1/14/10
to kum...@googlegroups.com
Hola sefsinalas, la segunda es la forma como lo debes hacer eso sera corregido en el nuevo ActiveRecord...

2010/1/13 sefsinalas <sefsi...@gmail.com>
--
Viva KumbiaPHP Framework!
 http://www.kumbiaphp.com/
 Ha recibido este mensaje porque está suscrito a Grupo "KumbiaPHP Framework" de Grupos de Google.
 Para obtener más opciones, visita este grupo en http://groups.google.com/group/kumbia?hl=es.

Henry Malas

unread,
Feb 2, 2010, 6:40:48 PM2/2/10
to kum...@googlegroups.com

Perdón por el retraso, pero hasta hoy no he podido probarlo. Y he de decir con mucho agrado que así SI FUNCIONA.

 

Gracias sefsinalas. Da gusto con usuarios como tú.

 

A deivison y Joan no les digo nada que no les haya dicho ya por IRC: CRACKS que sois unos PUTOS CRACKS.

 

Salu2!

Reply all
Reply to author
Forward
0 new messages