【问题标题】:Symfony sfValidators: Dynamically setting a value to be required or not?Symfony sfValidators:动态设置一个值是否需要?
【发布时间】:2016-04-13 14:07:35
【问题描述】:

我有以下问题:

我有一个表单,用户可以在其中选择切换开关 (Yes/No)。

如果他们选择Yes,我会在我的模板上隐藏几个字段(因为它们现在会被自动计算)。

问题是现在,一组不同的字段必须不为空才能成功提交。

第一个字段在点击开关后不需要是可选的(因为它们只是隐藏但仍然提交),但第二组字段必须是非空的。

有没有一种简单的方法来使用 Symfony 的 sfValidator 类来获得这种动态验证行为,或者我应该简单地使用 jQuery 组合一个解决方案?

【问题讨论】:

  • 听起来像是可以使用Callback constraint 解决的案例。但是,您仍然需要自己处理前端中的 required 属性
  • 太棒了!这与PostValidator 一起解决了我的验证问题。如果您愿意,您可以将以上内容作为答案发布,我会接受。

标签: javascript php jquery symfony


【解决方案1】:

这听起来像是 Symfony 中已经存在的 Callback constraint 的完美案例。引用链接的文档:

回调约束的目的是创建完全自定义的验证规则,并将任何验证错误分配给对象上的特定字段。如果您对表单使用验证,这意味着您可以让这些自定义错误显示在特定字段旁边,而不是简单地显示在表单顶部。

这解决了后端问题,您仍然需要注意字段的 required 属性,以便 HTML5 验证可以正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-15
    • 1970-01-01
    • 2022-09-23
    相关资源
    最近更新 更多