加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

表单 – 基于两个字段的Symfony2表单验证

发布时间:2020-12-14 23:39:35 所属栏目:资源 来源:网络整理
导读:我正在开发一个网站,用户可以在其中购买礼品卡.我使用CraueFormFlow包的三步形式,一切都涉及到步骤.我能够验证每个简单的Assert(如不是空白,电子邮件,重复的字段等),但我面临的情况是,用户可以选择0个礼品卡并进入下一页. 用户可以使用两个单独的选择来选择
我正在开发一个网站,用户可以在其中购买礼品卡.我使用CraueFormFlow包的三步形式,一切都涉及到步骤.我能够验证每个简单的Assert(如不是空白,电子邮件,重复的字段等),但我面临的情况是,用户可以选择0个礼品卡并进入下一页.

用户可以使用两个单独的选择来选择他们想要购买的礼品卡的数量:一个用于25 $礼品卡,一个用于50 $礼品卡.所以我不能只是把一个验证器说“不允许值0”.验证器必须防止用户在数量(25 $和50 $)中留下数量“0”.

有没有人知道如何进行自定义验证来查找两个字段中的值?

提前致谢!

解决方法

你有很多解决方案.

最简单的一个是为您的模型类添加一个Callback constraint.

另一种方法是创建自定义约束及其关联的验证器.你有一个cookbook explaining how to create a custom validation constrain.
这是最好的做法.

由于您的约束不适用于属性,而是适用于类,您必须指定它覆盖约束类的 – > getTargets()方法:

class MyConstraint extends Constraint
{
    // ...

    public function getTargets()
    {
        return Constraint::CLASS_CONSTRAINT;
    }
}

因此,作为$> isValid()方法的$value参数传递的值将包含整个类的值,而不仅仅是单个属性的值.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读