Пример контроллера:
public function myControllerName(sfWebRequest $request)
{
$this->form = new myFormClass();
}
Используйте <?php echo $form->renderFormTag( url_for('@yourRoutingName'), array('method' => 'POST') ); ?>
в своем шаблоне и измените @yourRoutingName
на тот, который указывает на ваш контроллер.
Теперь измените ваш контроллер на что-то вроде этого:
public function myControllerName(sfWebRequest $request)
{
$this->form = new myFormClass();
if ($request->isMethod(sfRequest::POST)
{
$this->form->bind( $request->getParameter( $this->form->getName() ) );
// Check if the form is valid.
if ($this->form->isValid())
{
$this->form->save();
// More logic here.
}
}
}
Часть $this->form->bind( $request->getParameter( $this->form->getName() ) );
связывает опубликованные данные с вашей формой, где $this->form->isValid()
возвращает логическое значение, независимо от того, является ли форма действительной или нет.