Example of one of my forms.

class settingsActions extends sfActions
{

  public function executeSave()
  {
    $profile = $this->getUser()->getProfile();
    $profile->username = $this->getRequestParameter('username');
    $profile->configured = true;
    $this->setFlash('settings_saved', 'Your settings have been saved');
    $this->getRequest()->getFacebook()->redirect('@settings');
  }

  public function handleErrorSave()
  {
    $this->forward('settings', 'configure');
  }

  public function executeConfigure()
  {
    $this->profile = $this->getUser()->getProfile();
  }
}

# cat apps/facebook/modules/settings/validate/save.yml
fields:
  username:
    required: yes
      msg: A username is required.
  password:
    required: yes
      msg: A password is required.


# cat apps/facebook/modules/settings/templates/configureSuccess.php
<?php if ($sf_data['sf_request']->hasErrors()): ?>
  <?php if ($sf_data['sf_request']->hasError('username')): ?>
    <fb:error message="<?php echo
$sf_data['sf_request']->getError('username'); ?>" />
  <?php endif; ?>
  <?php if ($sf_data['sf_request']->hasError('password')): ?>
    <fb:error message="<?php echo
$sf_data['sf_request']->getError('password'); ?>" />
  <?php endif; ?>
<?php endif; ?>
<fb:editor action="<?php echo fb_url_for('settings/save'); ?>"
labelwidth="100">
  <fb:editor-text label="Username" name="username" value="<?php echo
$sf_data['profile']['username']; ?>" />
  <fb:editor-custom label="Password">
    <input type="password" name="password" value="" />
  </fb:editor-custom>
  <fb:editor-buttonset>
    <fb:editor-button value="Save" />
  </fb:editor-buttonset>
</fb:editor>

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to