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

Cakephp Cómo validar un radio y un input text a la vez desde el modelo?

Estas en el tema de Cómo validar un radio y un input text a la vez desde el modelo? en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola, tengo dos radio button, Si - No Si esta checkeado en Si, tengo que obligar a completar un input text, de lo contrario queda ...
  #1 (permalink)  
Antiguo 05/06/2014, 09:25
Avatar de reborn  
Fecha de Ingreso: febrero-2010
Mensajes: 440
Antigüedad: 14 años, 2 meses
Puntos: 1
Cómo validar un radio y un input text a la vez desde el modelo?

Hola,

tengo dos radio button, Si - No

Si esta checkeado en Si, tengo que obligar a completar un input text, de lo contrario queda en No y no se completa nada.

Ahora bien, como puedo hacer para validar desde el modelo si hago click en Si, tambien me valide el input text?

Se me ocurre hacerlo dentro del constructor pero no se como.

Alguna idea?

Gracias
  #2 (permalink)  
Antiguo 24/06/2014, 14:07
 
Fecha de Ingreso: febrero-2012
Mensajes: 37
Antigüedad: 12 años, 2 meses
Puntos: 5
Respuesta: Cómo validar un radio y un input text a la vez desde el modelo?

Se me ocurre una manera de resolver esto; en tu $validate escribes algo como:

Código PHP:
        'p5' => array(
            
'obligatoriaXp4' => array (
                
'required' => true,
                
'rule' => array('dependeP4','p5'),
                
'message' => 'Por favor, responda la pregunta'                
            
),
        ), 
En donde indicamos que p5 (pregunta 5) es obligatoria por pregunta 4 (obligatoriaXp4) entonces en el 'rule' llamo a la función que valida dicha condición (incluso le mando un argumento):

Código PHP:
'rule' => array('dependeP4','p5'), 
Abajo del $validate ya puedo declara la función que podría ser algo asi:

Código PHP:
    function dependeP4($data$pregunta){
        
$valida true;
        if( 
$this->data['Encuesta']['p4'] == 'p4_r1' ){
            if( 
$data[$pregunta] == '' ){ $valida false; }
        }
        return 
$valida;
    } 
// dependep4 
Si te fijas estoy validando la pregunta 5 a partir de la respuesta de p4 y regreso true o false que sería el resultado de la validación.

Espero que te sirva.

Saludos

Etiquetas: cakephp, input, radio, text, vez
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 20:20.