Forms 在my Symfony executeAction后端中访问表单值

Forms 在my Symfony executeAction后端中访问表单值,forms,symfony1,symfony-1.4,symfony-forms,Forms,Symfony1,Symfony 1.4,Symfony Forms,因此,我的一个页面由一个测验表单组成,其中有几个选择题类型的问题,这些选择被指定为单选按钮。我一直在扫描Symfony文档,以了解如何访问用户输入的表单字段值。问题是,这不是;这不是一个基于原则或推进的表单,我也不要求将值存储在数据库中,因此执行$form->save()对我来说没有什么意义。但是一旦用户点击submit,我确实需要在后端访问表单的特定值 我遇到的大多数Symfony文档并不一定解释如何做到这一点。我认为这将是一种效果: $request->getParameter('radio

因此,我的一个页面由一个测验表单组成,其中有几个选择题类型的问题,这些选择被指定为单选按钮。我一直在扫描Symfony文档,以了解如何访问用户输入的表单字段值。问题是,这不是;这不是一个基于原则或推进的表单,我也不要求将值存储在数据库中,因此执行$form->save()对我来说没有什么意义。但是一旦用户点击submit,我确实需要在后端访问表单的特定值

我遇到的大多数Symfony文档并不一定解释如何做到这一点。我认为这将是一种效果: $request->getParameter('radio\u choices\u id selected value')

感谢所有读到这篇文章的人,并为回应这篇文章的人欢呼:)


帕里贾特(如果我没弄错你的问题,这很简单) 对于小部件:

$this->widgetSchema['name'] = new sfWidgetFormChoice(array('choices' => array('ch_1', 'ch_2')));
好的,在行动中:

$this->form = new FaqContactForm();

        if ($request->isMethod('post')) {
            $this->form->bind($request->getParameter($this->form->getName()));

            if ($this->form->isValid()) {

                $your_val=$this->form->getValue('name');

                 //or

                 $your_val=$this->form['name']->getValue());
             }
         }
受保护函数processForm(sfWebRequest$request,sfForm$form)的后端中
你有

$form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
    if ($form->isValid())
    {
      $notice = $form->getObject()->isNew() ? 'The item was created successfully.' : 'The item was updated successfully.';

      try {
        $product = $form->save();
      } catch (Doctrine_Validator_Exception $e) {

        $errorStack = $form->getObject()->getErrorStack();

        $message = get_class($form->getObject()) . ' has ' . count($errorStack) . " field" . (count($errorStack) > 1 ?  's' : null) . " with validation errors: ";
        foreach ($errorStack as $field => $errors) {
            $message .= "$field (" . implode(", ", $errors) . "), ";
        }
        $message = trim($message, ', ');

        $this->getUser()->setFlash('error', $message);
        return sfView::SUCCESS;
      }
$product=$form->save()之前尝试

$your_val=$form->getValue('name');
//or
$your_val=$form['name']->getValue());