Php symfony隐藏字段,但对其进行验证
我的一个实体有一个奇怪的问题 my Vehicle实体具有以下db表字段:Php symfony隐藏字段,但对其进行验证,php,forms,symfony,entity,Php,Forms,Symfony,Entity,我的一个实体有一个奇怪的问题 my Vehicle实体具有以下db表字段: 订单(主键) 牌照(PK) 制造 模型 变体 在表单上,唯一可见的字段是licenseplate 字段后面有一个按钮,访问者从ajax调用中获取make/model/variant数据到AjaxController,AjaxController将数据添加到数据库中。(有一个$session'orderId'设置'orders'字段) 我需要绝对确定访问者已经获取了make/model/variant,并且访问者不能更
- 订单(主键)
- 牌照(PK)
- 制造
- 模型
- 变体
为什么不获取ajax数据并填充表单的隐藏字段,并在提交时包含这些数据?这样,您就可以使用标准验证使字段成为必需(但隐藏)字段。此外,如果用户必须选择make/model/variant,为什么字段会隐藏?他们不想看到他们选择了什么吗?Hi@Richard-字段不在中,因为用户可能无法更改值。我的ajax调用以字符串形式返回make/model/variant,以便用户可以看到它是正确的汽车。但是我想确保用户不会更改make/model/variant值,所以我将它们保存在ajax调用中。但同时,我想确保表单submit中的用户已经获取了汽车数据。这有意义吗?有很多方法可以做到这一点,我已经在脑海中添加了一个答案。我如何在监听器中检查make/model/variant?据我所知,该学说在“实体类型”中不可用?它可以被注入吗?是的,您可以将doctrine/entitymanager注入到表单类型中(并扩展到侦听器),没有问题。您可以直接将其作为构造函数参数来执行,也可以将表单类型定义为服务并以这种方式注入entitymanager。侦听器本身也可以访问表单中的底层实体对象。嗨@Richard-我接受了你的答案-你有任何注入工作的例子吗?我昨天一整天都在谷歌上搜索,一点运气都没有。谢谢你抽出时间!你好表单即服务(允许DI):-表单的实体侦听器:-应该是您需要的所有内容。