Hello. I've run into some oddness ( or it's probably just me, doing
things wrong ), but i need a little advice on multiple forms with
1.1 . The basic setup is 2 forms for user profile, in ajax tabs ( yui
tabs to be exact ). One form is for password change/email change, the
other form is profile - names, country, age etc. Everything worked
fine, untill i added this to the password form :

    public function configure ()
    {
        $this->validatorSchema->setPostValidator(new
sfValidatorSchemaCompare('password', sfValidatorSchemaCompare::EQUAL,
'password_repeat'));
    }


to the password/email form.
The both use the same action and view to get rendered. The action
looks like this :

            $user = Doctrine::getTable('sfGuardUser')->find($this-
>getUser()->getGuardUser()->id);
            $this->form = new sfGuardUseProfileEditForm($user);
            $this->profileform = new sfGuardUserProfileForm($user-
>profile);
            if ($request->isMethod('post')) {
                $this->form->bind($this-
>getRequestParameter('sf_guard_user'));
                if ($this->form->isValid()) {
                    $this->forward404Unless($this->form->save());
                }
                $this->profileform->bind($this-
>getRequestParameter('sf_guard_user_profile'));
                if ($this->profileform->isValid()) {
                    $this->forward404Unless($this->profileform-
>save());
                }
            }

and the view looks like this :

<?php use_helper('YUITabview'); ?>

   <?php yui_tabview_start('demo') ?>
   <div id="demo" class="yui-navset">
     <ul class="yui-nav">
       <li class="selected"><a href="#tab1"><em>Edit Password/Email</
em></a></li>
       <li><a href="#tab2"><em>Edit Profile</em></a></li>
       <li><a href="#tab3"><em>Edit Avatar</em></a></li>
     </ul>
     <div class="yui-content">
       <div><p>
<?php if(!$sf_user->isAnonymous()): ?>
<form action="<?= url_for('user/index') ?>" method="POST">
<table>
<?php echo $form; ?>
</table>
<input type="submit" value="Submit" />
</form>
<?php endif; ?>
</p></div>
       <div><p>
<?php if(!$sf_user->isAnonymous()): ?>
<form action="<?= url_for('user/index') ?>" method="POST">
<table>
<?php echo $profileform; ?>
</table>
<input type="submit" value="Submit" />
</form>
<?php endif; ?>
</p></div>
       <div><p>To be done</p></div>
     </div>
   </div>
<?php yui_tabview_end('demo') ?>

Everything works fine without the postvalidator, for comparing the
inputted passwords, but with it, whenever you submit any of the forms,
the other one throws errors for all the required fields, complaining
that those fields are required. If still saves the data properly, just
the other form is basicly throwing out errors, when it shouldnt be.

Any advices on how i can handle this ? I could just separate the forms
in different actions, but i think that's not the point. Again,
everything works as expected without the postvalidator.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"symfony users" 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/symfony-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to