表单小部件值

时间:2011-04-27 09:52:44

标签: forms doctrine widget symfony-1.4

我使用表单小部件进行用户注册,其中包含销售或客户单选按钮 如果检查客户按钮意味着我必须插入注册表和另外一个表。所以我想在执行$ form-> save();之前使用表单提交的值。 怎么做。请帮助我......

我的单选按钮字段名称是executive_check

protected function processForm(sfWebRequest $request, sfForm $form)
{
   $form->bind($request->getParameter($form->getName()),$request->getFiles($form->getName()));
    if ($form->isValid())
    {
//i have to check the form user type radio button value here
        $form->save();
    }
    else
    {
        echo "Error";
    }
}

请帮帮我........

2 个答案:

答案 0 :(得分:0)

在我看来,你应该覆盖表单上的保存方法,不要改变你的行为。

例如:

class BookForm extends BaseBookForm {
    public function save($con = null) {
        if($this->getValue('isCustomer')) {
            // do your additional save  
        }
        return parent::save();
    }
}

答案 1 :(得分:0)

如果要从表单中访问已发布变量,则必须覆盖注册表单中的save()函数,并且可以访问名为“$ this-> values”的一个数组中的所有post变量。请尝试以下

public function save($con = null){

 // This will list out whole array of the posted variables.
 echo "<pre>";
 print_r($this->values);

// to use your field variable with named "executive_check" you can get value by below syntax

if($this->values['executive_check'] == 'radiobuttonValue'){
  // your logic if sales or customer radio button is selected.
 }
  // will call parent form save function to save all data
 parent::save($con);
}