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

validacion con cakePHP

Estas en el tema de validacion con cakePHP en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Q tal hace muy poco empeze con este FW, y quiero ahcer una validacion pero no me funciona la base de datos contiene una tabla ...
  #1 (permalink)  
Antiguo 09/11/2009, 19:16
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 9 meses
Puntos: 32
validacion con cakePHP

Q tal hace muy poco empeze con este FW, y quiero ahcer una validacion pero no me funciona

la base de datos contiene una tabla llamada empleados y 3 campos id, nombre, apellido , me funciona cuando agrego empleados pero no valida los datos

El modelo

Código PHP:
<?php
class Empleado extends AppModel{
    var 
$name 'Empleado';
    var 
$validate = array(
        
'nombre' => array( 'rule' => VALID_NOT_EMPTY,
                            
'message' => 'Los nombres de usuario deben contener sólo letras y números.')
        );
}
?>

El controlador

Código PHP:
<?php
class EmpleadosController extends AppController
{
    var 
$name 'Empleados';
    var 
$helpers = array('Html''Form');
    
    public function 
index()
    {
     
$this->set('empleados',$this->Empleado->find('all'));
                            
    }
    public function 
add()
    {
        if( ! empty( 
$this->data ) ) {
            
$this->Empleado->create();
            if( 
$this->Empleado->save$this->data ) ) {
                
$this->Session->setFlash('El empleado se almacno correctamente');
                
$this->redirect(array('action' => 'index'), nulltrue);
            } else {
                
$this->Session->setFlash('El empleado no se pudo guardar');
            }
        }
    }
    

}
?>

Gracias
__________________
Como presentar nuestros datos por medio de tablas . clase Aco_DataGrid Version 1.4
  #2 (permalink)  
Antiguo 09/11/2009, 19:50
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
Respuesta: validacion con cakePHP

pega el código de la vista
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #3 (permalink)  
Antiguo 09/11/2009, 19:55
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 9 meses
Puntos: 32
Respuesta: validacion con cakePHP

Código PHP:
<?php echo $form->create('Empleado');  ?>
<?php
echo $form->input('nombre');
echo 
$form->input('apellido');
echo 
$form->end('Añadir empleado');
echo 
$html->link('Ver empleados', array('action' => 'index'));

?>
Gracias por responder
__________________
Como presentar nuestros datos por medio de tablas . clase Aco_DataGrid Version 1.4
  #4 (permalink)  
Antiguo 09/11/2009, 20:16
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
Respuesta: validacion con cakePHP

el nombre en la vista está correcto, quizás sea por la versión que estés usando, prueba la validación de esta manera:
Código PHP:
var $validate = array(
     
'nombre' => array(
         
'need' =>    array(
                        
'rule' => 'notEmpty'
            
'message' => 'Debes escribir tu nombre de usuario',
            
'last'=>true),
         
'min' => array(
            
'rule' => array('minLength',6), 
            
'message' =>'El nombre de usuario debe tener más de 6 caracteres',
            
'last'=>true),
         
'max' => array(
            
'rule' => array('maxLength',20), 
            
'message' =>'El nombre de usuario no debe tener más de 20 caracteres',
            
'last'=>true)
         )
   ); 
prueba y nos comentas.
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #5 (permalink)  
Antiguo 09/11/2009, 20:21
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 9 meses
Puntos: 32
Respuesta: validacion con cakePHP

Q tal, a un no funciona, q raro no ? ejje
__________________
Como presentar nuestros datos por medio de tablas . clase Aco_DataGrid Version 1.4
  #6 (permalink)  
Antiguo 09/11/2009, 20:27
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
Respuesta: validacion con cakePHP

modifica tu función add de esta manera:
Código PHP:
public function add()
    {
        if( ! empty( 
$this->data ) ) {
            
$this->Empleado->set($this->data);
            if (
$this->Empleado->validates()){
                if( 
$this->Empleado->save$this->data ) ) {
                    
$this->Session->setFlash('El empleado se almacno correctamente');
                    
$this->redirect(array('action' => 'index'), nulltrue);
                } else {
                    
$this->Session->setFlash('El empleado no se pudo guardar');
                }
            } else{
                
$this->Session->setFlash($this->Empleado->invalidFields());
            }
        }
    } 
y verifica que en el formulario exista esta línea: <?php $session->flash(); ?> y veamos que pasa :)
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #7 (permalink)  
Antiguo 09/11/2009, 20:59
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 9 meses
Puntos: 32
Respuesta: validacion con cakePHP

Mm, he puesto todo lo que me has dicho y no funciona, tienes algun ejemplo sencillo por hay que sepas q funcione
__________________
Como presentar nuestros datos por medio de tablas . clase Aco_DataGrid Version 1.4
  #8 (permalink)  
Antiguo 10/11/2009, 15:29
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
Respuesta: validacion con cakePHP

Hola, ya hice la comprobación y si valida, esta es la función add:
Código PHP:
function add(){
    if (!empty(
$this->data)) {
        
$this->Empleado->set($this->data);
        if (
$this->Empleado->validates()){
                if (
$this->Empleado->save($this->data,false)) {
                    
$this->Session->setFlash('El empleado ha sido salvado');
                    
$this->redirect(array('action'=>'index'), nulltrue);
                } else {
                    
$this->Session->setFlash('Empleado no salvado. Prueba de nuevo.');
                }
        }else{
            
$errors '';
            foreach(
$this->Empleado->invalidFields() as $error)
                
$errors.=$error.'<br/>';
            
$this->Session->setFlash($errors);
        }
    }

__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #9 (permalink)  
Antiguo 10/11/2009, 18:51
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 9 meses
Puntos: 32
Respuesta: validacion con cakePHP

Q le pasa a esta pendejada le valida a todos menos a mi, uso la ultima version de cakePHP
__________________
Como presentar nuestros datos por medio de tablas . clase Aco_DataGrid Version 1.4
  #10 (permalink)  
Antiguo 14/11/2009, 14:08
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 9 meses
Puntos: 32
Respuesta: validacion con cakePHP

Q tal, a un tengo el maldito problema y no se que pasa, a todos le valida y a mi no, que puedo tener malo ?, he puesto todo lo que me dicen y nada jeej, he ledi aqui http://book.cakephp.org/es/view/127/One-Rule-Per-Field sobre validaciones y entiendo lo implemento y nada pasa, simplemente se agrega el registro aunque el campo este vacio.

Gracias.
__________________
Como presentar nuestros datos por medio de tablas . clase Aco_DataGrid Version 1.4
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 03:58.