【问题标题】:jQuery validate plugin require field if another field has a value and vice versa如果另一个字段有值,则 jQuery 验证插件需要字段,反之亦然
【发布时间】:2012-05-02 00:11:40
【问题描述】:

我正在使用 jQuery 验证插件来验证我的表单。我想将几对字段绑定在一起,这样如果一个字段有一个值,另一个字段也需要有一个值。本质上,两个字段(两个文本输入)必须要么都有值,要么都没有值。有人知道实现此目的的好方法吗?

【问题讨论】:

  • 你在使用哪个插件,使用什么代码?
  • 这是 jQuery 验证插件 1.9.0
  • 没有代码很难说,为什么不把这两个值组合成一个(隐藏的)在验证中处理?

标签: jquery jquery-validate


【解决方案1】:

如果您查看documentation page 中“规则”部分的示例代码,您可以设置depends 字段。

类似于以下内容(这是我的想法,未经测试):

...
secondInput: {
    required: function(element){
            return $("#firstInput").val()!="";
        }
}
....

【讨论】:

  • 我希望不需要对每个字段进行如此冗长的描述,但似乎这是唯一的选择。我最终得到了类似的东西,但我没有使用依赖字段,只是必需的,它似乎可以工作。
  • 你知道我在哪里可以找到旧文档吗?
【解决方案2】:

为了澄清,这就是我根据 Erico 的回答最终做的事情:

    firstInput: {
        required: function(element){
            return $("#secondInput").val().length > 0;
        }
    },
    secondInput: {
        required: function(element){
            return $("#firstInput").val().length > 0;
        }
    }

现在每个输入都依赖于另一个,并且只有在另一个有值时才需要。

【讨论】:

    【解决方案3】:

    如果您想在没有插件的情况下进行验证

    if ((field1 && !field2) || (!field1 && field2)) {
    
       // error message
    
    }
    

    【讨论】:

      猜你喜欢
      • 2017-06-07
      • 2022-01-17
      • 2016-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-19
      • 2021-10-24
      相关资源
      最近更新 更多