Symfony2:用户注册表中的优惠券字段
我想在用户注册上设置一个功能:用户可以输入以前生成并存储在表中的优惠券代码。该字段将与用户注册表一起显示。如果他们输入了一个不存在的代码,则表单不应验证,应显示一条错误消息,告诉他们该代码无效。 实现这一目标的最佳实践是什么 我的问题是优惠券字段没有链接到用户实体。 我可以使用ajax检查优惠券代码的有效性,并且只有在代码存在或字段为空时才验证表单。 但是如果我继续这样做,我如何访问RegistrationFormHandler中的优惠券代码数据?其目的是为输入有效代码的用户提供特殊权限Symfony2:用户注册表中的优惠券字段,symfony,registration,coupon,Symfony,Registration,Coupon,我想在用户注册上设置一个功能:用户可以输入以前生成并存储在表中的优惠券代码。该字段将与用户注册表一起显示。如果他们输入了一个不存在的代码,则表单不应验证,应显示一条错误消息,告诉他们该代码无效。 实现这一目标的最佳实践是什么 我的问题是优惠券字段没有链接到用户实体。 我可以使用ajax检查优惠券代码的有效性,并且只有在代码存在或字段为空时才验证表单。 但是如果我继续这样做,我如何访问RegistrationFormHandler中的优惠券代码数据?其目的是为输入有效代码的用户提供特殊权限 这是一
这是一种很好的方法吗?在表单中添加一个带有false
属性的文本字段。\u路径
:
$builder->add('优惠券','text',数组('property_path'=>false));
使用ajax或自定义事件订阅服务器(我更喜欢后者)验证它。在控制器中,检查表单是否有效就足够了:
if('POST'==$request->getMethod()){
$form->bindRequest($request);
}
if('GET'==$request->getMethod()&&&$form->isValid()){
//在这里,用户和优惠券都是有效的
$优惠券=$form->get('优惠券')->getData();
}
工作正常,谢谢!另外,您能解释一下为什么您更愿意使用事件订阅服务器而不是ajax吗?Personnaly我对ajax比较满意,所以我使用了它。@Marronsuisse只是因为如果你已经用一篇文章(没有ajax)验证了你的用户实体,我也会用优惠券验证它。。。