No hay variable "por defecto" para los mensajes de error.

Cake simplemente se encarga de registrar los errores (si usas la validación
de cake, obviamente) y un helper (errorhelper en 1.1, o formhelper en 1.2)
se encargan de mostrar los errores.

Y la validación se ejecuta automáticamente cuando haces
$this->Modelo->save(...)

Lo que tú estás haciendo es una validación manual en el controlador.

Los tuts son avanzados, pero es LA forma de hacer las cosas. De nada te va a
servir aprender un método que no es la convensión de cake.

No se si lo has hecho, pero deberías probar hacer el tut del blog que está
en el manual. (Traducido incompleto en cakephp-es.org)

Mucha suerte.


On 9/12/07, mbavio <[EMAIL PROTECTED]> wrote:
>
>
> $this->set('username_error', 'User already exists.');
>
> A eso me estaba refiriendo. La variable $username_error es la que por
> defecto tiene el mensaje de error?
>
> Saludos.
>
> pd: Busque en el Bakery, son medios avanzados los tutos...
>
> On 11 sep, 22:40, "Joaquin Windmüller" <[EMAIL PROTECTED]> wrote:
> > Hola,
> >
> > Cuando Bakery vuelva a funcionar busca los artículos de validación. Cake
> se
> > encarga de hacerlo automáticamente y un helper se encarga de imprimir
> los
> > errores si existen.
> >
> > (En cakephp1.2 es mucho más automátizado con el FormHelper - una línea
> para
> > cada campo)
> >
> > Saludos.
> >
> > On 9/11/07, mbavio <[EMAIL PROTECTED]> wrote:
> >
> >
> >
> >
> >
> > > Aca estan los tutoriales Joaquin...
> > >http://www-128.ibm.com/developerworks/edu/os-dw-os-php-cake1.html
> >
> > > A mi tambien me parecio medio extraño el codigo, porque nada que ver
> > > con el manual... alguien tiene un buen tutorial para principiantes que
> > > use buen codigo?
> >
> > > Con respecto a tu respuesta, Joaquin, gracias! Tengo una pregunta mas
> > > para hacer... como es el nombre de la variable por defecto que guarda
> > > el error de cada campo, si es que existe. Porque si es asi, puedo
> > > hacerle un echo, y en caso de no haber error no me imprimiria nada...
> > > puede ser eso que digo?
> >
> > > Saludos, y gracias nuevamente.
> >
> > > On 11 sep, 15:04, "Joaquin Windmüller" <[EMAIL PROTECTED]> wrote:
> > > > De donde sacan esos tutoriales de IBM?? (que código tan feo :$)
> >
> > > > Fijate que estás tratando que no hayan username repetidos.
> >
> > > > if ($this->User->findByUsername($this->data['User']['username']))
> >
> > > > Por lo que en un caso estás haciendo set('username_error'...
> > > > y en el otro no.
> >
> > > > Si en la vista no estás recibiendo esa variable es porque la lógica
> del
> > > > controlador se fue por el 'else' (es decir, sí guardó los datos).
> >
> > > > Entonces puedes hacer dos cosas
> >
> > > >    1. En la vista revisar que la variable exista con
> > > >    isset($username_error)
> > > >    2. en el controlador, cuando todo sale bien, hacer un redirect
> con
> > > >    $this->redirect(...)
> >
> > > > Saludos
> >
> > > > On 9/11/07, mbavio <[EMAIL PROTECTED]> wrote:
> >
> > > > > Hola, soy nuevo en CakePHP, y me he decidido a empezar realizando
> la
> > > > > serie de tutoriales de IBM. Todo iba a la perfeccion, hasta que
> llegue
> > > > > a la parte de validacion personalizada... Para los que nunca
> vieron el
> > > > > tutorial, en esta parte se explica como hacer para incluir una
> > > > > consulta a la base dentro de la validacion, y se da el ejemplo de
> > > > > consultar si ya no existe un nombre de usuario...
> >
> > > > > Aqui esta la parte del controlador que hace esto...
> >
> > > > > if ($this->User->findByUsername($this->data['User']['username']))
> > > > >         {
> > > > >           $this->User->invalidate('username');
> > > > >           $this->set('username_error', 'User already exists.');
> > > > >         } else {
> > > > >           $this->User->save($this->data);
> > > > >           $this->flash('Your registration information was
> accepted.',
> > > > > '/users/register');
> > > > >         }
> >
> > > > > Ahora, el problema que tengo es que en el tutorial, me dice que en
> la
> > > > > vista tengo que poner:
> >
> > > > > <?php echo $html->tagErrorMsg('User/username', $username_error) ?>
> >
> > > > > reemplazando al error que se utilizaba antes para username. Pero
> > > > > cuando aplico esto, en donde deberia ir el mensaje de error me
> sale el
> > > > > siguiente mensaje:
> >
> > > > > Notice: Undefined variable: username_error in (ruta a la
> aplicacion)
> > > > > \app\views\users\register.thtml on line 5
> >
> > > > > Entiendo que me dice que la variable no esta definida. Que hago?
> Como
> > > > > soluciono esto? Como hago este tipo de validaciones personalidazas
> > > > > correctamente, junto con el envio del mensaje de error?
> >
> > > > > Saludos.
> >
> > > > --
> > > > Joaquín Windmüller
> > > > Cel: 0416-8319382
> >
> > > >     Weblog personal - Diseño web y más...
> > > >     [EMAIL PROTECTED]
> > > >    http://aikon.com.ve/
> >
> > --
> > Joaquín Windmüller
> > Cel: 0416-8319382
> >
> >     Weblog personal - Diseño web y más...
> >     [EMAIL PROTECTED]
> >    http://aikon.com.ve/
>
>
> >
>


-- 
Joaquín Windmüller
Cel: 0416-8319382

    Weblog personal - Diseño web y más...
    [EMAIL PROTECTED]
    http://aikon.com.ve/

--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a [email protected]
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~----------~----~----~----~------~----~------~--~---

Responder a