Forms 在my Symfony executeAction后端中访问表单值
因此,我的一个页面由一个测验表单组成,其中有几个选择题类型的问题,这些选择被指定为单选按钮。我一直在扫描Symfony文档,以了解如何访问用户输入的表单字段值。问题是,这不是;这不是一个基于原则或推进的表单,我也不要求将值存储在数据库中,因此执行$form->save()对我来说没有什么意义。但是一旦用户点击submit,我确实需要在后端访问表单的特定值 我遇到的大多数Symfony文档并不一定解释如何做到这一点。我认为这将是一种效果: $request->getParameter('radio\u choices\u id selected value') 感谢所有读到这篇文章的人,并为回应这篇文章的人欢呼:)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
帕里贾特(如果我没弄错你的问题,这很简单) 对于小部件:
$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());