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>
signature.asc
Description: OpenPGP digital signature
