Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

$this->Model->validates cakephp

Estas en el tema de $this->Model->validates cakephp en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Buenas. No sé porque las validaciones no me funcionan...aparentemente lo tengo como dice el book cakephp pero nada de nada....hace caso omiso como si no ...
  #1 (permalink)  
Antiguo 02/09/2012, 05:53
 
Fecha de Ingreso: febrero-2011
Ubicación: Madrid
Mensajes: 62
Antigüedad: 13 años, 8 meses
Puntos: 1
$this->Model->validates cakephp

Buenas.

No sé porque las validaciones no me funcionan...aparentemente lo tengo como dice el book cakephp pero nada de nada....hace caso omiso como si no hubiera validaciones.

Un ejemplo del modelo:

Código PHP:
public $validate = array(
        
'nombre' => array(
            
'notempty' => array(
                
'rule' => array('notempty'),
                
'message' => 'Your custom message here',
                
//'allowEmpty' => false,
                //'required' => false,
                //'last' => false, // Stop validation after this rule
                //'on' => 'create', // Limit validation to 'create' or 'update' operations
            
),
        ),
        
'pais' => array(
            
'notempty' => array(
                
'rule' => array('notempty'),
                
//'message' => 'Your custom message here',
                //'allowEmpty' => false,
                //'required' => false,
                //'last' => false, // Stop validation after this rule
                //'on' => 'create', // Limit validation to 'create' or 'update' operations
            
),
        ),
    ); 
Su controller y la función que utilizo es:
Código PHP:
    public function add() {
    
            if (
$this->request->is('post')) {

                if (
$this->Ligas->validates()){
                    
debug("Validaciones pasadas");
                    
$this->Ligas->create();
                    if (
$this->Ligas->save($this->request->data)) {
                        
                        
$this->Session->setFlash(__('La liga ha sido salvada'));
                        
//$this->redirect(array('action' => 'index'));
                        
                    
} else {
                        
                        
$this->Session->setFlash(__('La liga no ha podido ser salvado'));
                    }
                }else{
                    
debug("Validaciones no pasadas");
                }
            }

    } 
Siempre me va a validaciones pasadas, es deicr, siempr me guarda una fila en blanco, ya que salva bien.

¿qué se me pasa?

un saludo.
  #2 (permalink)  
Antiguo 05/09/2012, 16:44
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: $this->Model->validates cakephp

Cambia tu modelo por:
Código PHP:
Ver original
  1. public $validate = array(
  2.         'nombre' => array(
  3.             'notEmpty' => array(
  4.                 'rule' => 'notEmpty',
  5.                 'message' => 'Your custom message here',
  6.                 //'allowEmpty' => false,
  7.                 //'required' => false,
  8.                 //'last' => false, // Stop validation after this rule
  9.                 //'on' => 'create', // Limit validation to 'create' or 'update' operations
  10.             ),
  11.         ),
  12.         'pais' => array(
  13.             'notEmpty' => array(
  14.                 'rule' => 'notEmpty',
  15.                 //'message' => 'Your custom message here',
  16.                 //'allowEmpty' => false,
  17.                 //'required' => false,
  18.                 //'last' => false, // Stop validation after this rule
  19.                 //'on' => 'create', // Limit validation to 'create' or 'update' operations
  20.             ),
  21.         ),
  22.     );
Trata asi y dime que tal.
  #3 (permalink)  
Antiguo 25/09/2012, 18:34
 
Fecha de Ingreso: enero-2008
Ubicación: Buenos Aires
Mensajes: 305
Antigüedad: 16 años, 10 meses
Puntos: 14
Respuesta: $this->Model->validates cakephp

para ejecutar el método validates() manualmente, antes debes setear los datos, así:

Código PHP:
Ver original
  1. $this->Ligas->set($this->request->data);
  2. if($this->Ligas->validates()) ....
__________________
http://lucasmg.com.ar
  #4 (permalink)  
Antiguo 26/09/2012, 05:21
 
Fecha de Ingreso: febrero-2011
Ubicación: Madrid
Mensajes: 62
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: $this->Model->validates cakephp

Gracias, con vuestra ayuda ya está resuelto!

Etiquetas: cakephp
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:56.