Forms 从输入表单到控制器的数据
要生成表单,我使用Forms 从输入表单到控制器的数据,forms,symfony,Forms,Symfony,要生成表单,我使用 {{form_rest(form)}} 它为我生成了一个html: <label class="required" for="findclient_client_number">Client number</label> <input id="findclient_client_number" type="text" required="required" name="findclient[client][number]"> 和获取错误:
{{form_rest(form)}}
它为我生成了一个html:
<label class="required" for="findclient_client_number">Client number</label>
<input id="findclient_client_number" type="text" required="required" name="findclient[client][number]">
和获取错误:
子项“[number]”不存在
如何从该字段获取提交的数据?
谢谢你的帮助 首先需要将请求绑定到表单。有一个
Form::bind()
方法可以为您执行此操作
$form = $this->createForm(new ClientType());
if ($request->isMethod('POST')) {
$form->bind($this->get('request'));
$form->getData(); // Will return bound data
}
您还可以直接从控制器中的请求获取数据
$this->get('request')->request->get('name')
除了使用对象(FindClient
)之外,请参见。因此,只需绑定表单、获取数据并使用FindClient
对象进行处理即可获得您的号码
$form = $this->createForm(new FindClientType(), new FindClient());
if ($request->isMethod('POST')) {
$form->bind($this->getRequest());
$data = $form->getData(); // Will return bound data
$clientnumber = $data->getNumber() // assuming your getter for the number
}
您使用的是什么版本的symfony?您能从控制器中显示更多的代码吗?请您帮我演示一下
Find client
的代码应该是什么样子?我有点离题了。我假设你已经有了一个FindClient
类,正如你所展示的那样,在你发布的代码中。我得到了。但代码完全是废话。我需要实现getNumber。原因我得到了FatalErrorException:错误:调用未定义的方法My\DefaultBundle\Form\Model\FindClient::getNumber()
不知道,您的责任。如果你不知道,回到symfony的书上,读一读关于实体的书
$form = $this->createForm(new FindClientType(), new FindClient());
if ($request->isMethod('POST')) {
$form->bind($this->getRequest());
$data = $form->getData(); // Will return bound data
$clientnumber = $data->getNumber() // assuming your getter for the number
}