Do you use Form help or Html helper to print form? (cake 1.1 or 1.2 ?)

Just an advice, if you follow Cake conventions, you can write your
associations like that:
var $belongsTo = array(
        'School',
        'Country',
        'Timezone',
        'Chattype',
        'Chatimage',
        'Usertype',
        'Status',
);

Another advice, to show us long parts of code, please use 
http://bin.cakephp.org/
and give us the link

dev_null a écrit :
> My form is not validating on submission. I'm a newbie, so please be
> gentle. Here's my model:
>
> <?php
> class User extends AppModel {
>     var $name = 'User';
>     var $belongsTo = array('School' =>
>                            array('className'  => 'School',
>                                  'conditions' => '',
>                                  'order'      => '',
>                                  'foreignKey' => ''
>                            ),'Country' =>
>                            array('className'  => 'Country',
>                                  'conditions' => '',
>                                  'order'      => '',
>                                  'foreignKey' => ''
>                            ),'Timezone' =>
>                            array('className'  => 'Timezone',
>                                  'conditions' => '',
>                                  'order'      => '',
>                                  'foreignKey' => ''
>                            ),'Chattype' =>
>                            array('className'  => 'Chattype',
>                                  'conditions' => '',
>                                  'order'      => '',
>                                  'foreignKey' => ''
>                            ),'Chatimage' =>
>                            array('className'  => 'Chatimage',
>                                  'conditions' => '',
>                                  'order'      => '',
>                                  'foreignKey' => ''
>                            ),'Usertype' =>
>                            array('className'  => 'Usertype',
>                                  'conditions' => '',
>                                  'order'      => '',
>                                  'foreignKey' => ''
>                            ),'Status' =>
>                            array('className'  => 'Status',
>                                  'conditions' => '',
>                                  'order'      => '',
>                                  'foreignKey' => ''
>                            )
>                      );
>     var $validate  = array(
>                            'firstname'   => VALID_NOT_EMPTY,
>                            'lastname'    => VALID_NOT_EMPTY,
>                            'email'       => VALID_EMAIL,
>                            'password'    => VALID_NOT_EMPTY,
>                            'confirm'     => VALID_NOT_EMPTY
>                           );
>
>     function beforeValidate()
>     {
>         if( isset($this->data[$this->name]['password']) &&
>            ($this->data[$this->name]['password'] != $this->data[$this-
> >name]['confirm']))
>         {
>             $this->data[name]['password'] = '';
>             $this->data[name]['confirm']  = '';
>             $this->invalidate('confirm');
>         }
>         if ( isset($this->data[$this->name]['school_id']) && $this-
> >data[$this->name]['school_id'] == '0') {
>               $this->invalidate('school_id');
>         }
>         if ( isset($this->data[$this->name]['country_id']) && $this-
> >data[$this->name]['country_id'] == '0') {
>               $this->invalidate('country_id');
>         }
>         if ( isset($this->data[$this->name]['timezone_id']) && $this-
> >data[$this->name]['timezone_id'] == '0') {
>               $this->invalidate('timezone_id');
>         }
>
>         return true;
>     }
>
> }
> ?>
>
> And here's my controller:
>
> <?php
> class UsersController extends AppController {
>     var $layout     = 'form';
>     var $helpers    = array('Html', 'Form', 'Javascript', 'Session');
>     var $uses       =
> array('User','Usertitle','School','Country','Timezone','Chattype','Chatimage','Usertype','Status');
>
>     function newTeacher() {
>
>         if (empty($this->data)) {
>             //
>             // Grab view options arrays from db
>             //
>             $options = array();
>             $options['usertitle']  = $this->Usertitle-
> >generateList(null, 'Usertitle.name ASC', null,
>
> '{n}.Usertitle.id', '{n}.Usertitle.name');
>             $options['school']     = $this->School->generateList(null,
> 'School.name ASC', null,
>
> '{n}.School.id', '{n}.School.name');
>             $options['country']    = $this->Country-
> >generateList(null, 'Country.name ASC', null,
>
> '{n}.Country.id', '{n}.Country.name');
>             $options['timezone']   = $this->Timezone-
> >generateList(null, 'Timezone.name ASC', null,
>
> '{n}.Timezone.id', '{n}.Timezone.name');
>             $options['chattype']   = $this->Chattype-
> >generateList(null, 'Chattype.name ASC', null,
>
> '{n}.Chattype.id', '{n}.Chattype.name');
>             $chatimage             = $this->Chatimage->findAll();
>
>
>             // Set select option defaults
>             array_unshift($options['usertitle'], '---');
>             array_unshift($options['school'], '-- Please Select --');
>             array_push($options['school'], '-- New --');
>             array_unshift($options['country'], '-- Please Select --');
>             array_unshift($options['timezone'], '-- Please Select
> --');
>             array_unshift($options['chattype'], 'Type?');
>
>             // Build chat image arrays
>             $count = count($chatimage);
>             for ($ii = 0; $ii < $count; $ii++) {
>                 $id    = $chatimage[$ii]['Chatimage']['image'];
>                 $title = $chatimage[$ii]['Chatimage']['name'];
>                 $options['chatimage'][$ii] = array('id' => $id,
> 'title' => $title);
>             }
>
>
>             // Set initial user defaults
>             $user = array('User');
>             $user['User'] = $this->User->getColumnTypes();
>             foreach ($user['User'] as $field => $type) {
>                 switch ($type) {
>                     case 'integer': $type = 0; break;
>                     case 'string':
>                     case 'text':    $type = ''; break;
>                 }
>                 $user['User'][$field] = $type;
>             }
>             $user['User']['hours'] = '';
>             unset($user['User']['id']);
>             unset($user['User']['created']);
>             unset($user['User']['modified']);
>             unset($user['User']['verified']);
>
>             // Save to session
>             $this->Session->write('options', $options);
>             $this->Session->write('user', $user);
>
>             // Send info to view
>             $this->set('user', $user);
>             $this->set('options', $options);
>             $this->render();
>             exit();
>         }
>
>         if ( !empty($this->data['User']) ) {
>               if ( $this->User->create($this->data) && $this->User-
> >validates() ) {
>                       $this->flash("Your information has been validated!", 
> '/');
>                       $options = $this->Session->delete('options');
>                       $options = $this->Session->delete('user');
>                       exit();
>               }
>               else {
>                       $this->validateErrors($this->User);
>                       $options = $this->Session->read('options');
>                       $user = $this->Session->read('user');
>                       $user = array_merge($user, $this->data);
>                       $this->set('user', $user);
>                         $this->set('options', $options);
>                       $this->render();
>                       exit();
>               }
>         }
>
>
>     }
>
> }
> ?>
>
> If I submit my form without filling anything out, I get the flash
> message.


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Cake 
PHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to