24 de noviembre de 2008. De CakePHP 1.1 a CakePHP 1.2. El baile de los errores. Parte IV

4. Cambios en la validación de los datos

La validación de datos de CakePHP 1.2 es más poderosa que la de CakePHP 1.1. Ahora hay muchas más posibilidades, aunque también se pueden seguir usando las constantes de validación VALID_NOT_EMPTY, VALID_EMAIL, VALID_NUMBER y VALID_YEAR de CakePHP 1.1. En este post de Hospedaxes explican cómo definir reglas de validación en CakePHP 1.2. 

Mi modelo Categoria de CakePHP 1.1, que utilizaba la constante de validación VALID_NOT_EMPTY, era así:


class Categoria extends AppModel{

   var $name = 'Categoria';

   var $displayField = 'nombre';

   var $validate = array(  'nombre'=>VALID_NOT_EMPTY,
                           );

   var $hasMany = array('Empresa'=>array('className'=>'Empresa'));

}

Y en CakePHP 1.2 quedo así:


class Categoria extends AppModel{

   var $name = 'Categoria';

   var $displayField = 'nombre';

   var $validate = array(

                           'nombre' => array(

                                                'rule' => array('minLength', 1),

                                                'message' => 'El nombre es obligatorio'

                                             )

                     );

    var $hasMany = array('Empresa'=>array('className'=>'Empresa'));

}

Por otra parte, el uso del método validates de la clase Model, que comprueba si los campos de un registro satisfacen las reglas de validación que se definen en el modelo, también ha cambiado. Esto lo explican aquí

Por lo tanto, el método introducir_datos de mi controlador EmpresasController de CakePHP 1.1, que utilizaba el método validates, y era así:


if ($this->Empresa->validates($this->data)){

queda finalmente así en CakePHP 1.2:


$this->Empresa->set($this->data);         

if ($this->Empresa->validates()){

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: