【发布时间】:2017-09-22 07:37:54
【问题描述】:
我正在使用 symfony 2.8,我正在提交注册 from to registerAction 方法。当我在 registerAction 方法中使用 $form-getdata() 时,我会收到所有提交的数据。
AppBundle\Entity\User Object
(
[id:AppBundle\Entity\User:private] =>
[name:AppBundle\Entity\User:private] => testname
[email:AppBundle\Entity\User:private] => test@test.com
[roles:AppBundle\Entity\User:private] => Admin User
[plainPassword:AppBundle\Entity\User:private] => 123456
[password:AppBundle\Entity\User:private] =>
)
我已使用$request->request->get('name') 获取单个名称值,但它显示空白屏幕且不打印任何内容。
在浏览器中查看源代码时,我的 html 表单如下所示。
<form name="user" method="post" novalidate="novalidate">
<div class="form-group">
<div><label for="user_name" class="required">Name</label><input type="text" id="user_name" name="user[name]" required="required" class="form-control" /></div>
</div>
<div class="form-group">
<div><label for="user_email" class="required">Email</label><input type="email" id="user_email" name="user[email]" required="required" class="form-control" /></div>
</div>
<div class="form-group">
<div><label for="user_roles" class="required">Roles</label><select id="user_roles" name="user[roles]" class="form-control" style="margin:5px 0;"><option value="Normal User">Normal User</option><option value="Admin User">Admin User</option></select></div>
</div>
<div class="form-group">
<div><label for="user_plainPassword_first" class="required">Password</label><input type="password" id="user_plainPassword_first" name="user[plainPassword][first]" required="required" class="form-control" /></div>
</div>
<div class="form-group">
<div><label for="user_plainPassword_second" class="required">Repeat Password</label><input type="password" id="user_plainPassword_second" name="user[plainPassword][second]" required="required" class="form-control" /></div>
</div>
<div><button type="submit" id="user_Register" name="user[Register]" class="btn btn-success form-control">Register</button></div><input type="hidden" id="user__token" name="user[_token]" value="epZFHVctxHFlsnxG-H4OdS92DmGVjP1DDF-bKJrV2Ss" />
</form>
如何获得单个发布的表单值?
【问题讨论】:
-
试试
$request->request->get('user')应该有一个包含所有值的数组 -
是的,它的显示数组,但是有什么方法可以直接获取值
-
首先,为什么需要单值? (也许有更好的方法来做你正在尝试的事情)其次,如果你正在创建表单类型并传递用户对象,你可以在 handleRequest 之后做
Object->getvalue -
我需要单个数据来满足某些检查条件,我是 symfony 的新手,能否请您告诉我为什么在表单中创建用户数组,如何删除用户数组,我已经创建了这个表单在控制器中使用“FormBuilderInterface”接口。
-
您可以使用自定义验证器进行检查,创建用户数组是因为您的名字是
name="user[roles]"
标签: php forms symfony symfony-2.8