1

我目前正在使用 Backbone.validate 进行表单验证。

我需要能够验证成对的字段,这意味着如果您开始填写“field1”,那么您也必须填写“field2”,反之亦然。如果您将它们留空,则验证通过。

我有backbone.validate 设置并为单个字段工作。

有什么我可以使用的已经是验证的一部分来声明这个吗?我似乎无法找到任何相关的东西。

谢谢!

4

2 回答 2

3

所以这就是我使用 Backbone.validation https://github.com/thedersen/backbone.validation解决它的方法

  validateFlickr: function (value, attr, computedState) {
    return this.validatePairs(value, attr, computedState, "flickr");
  },
  validatePairs: function (value, attr, computedState, name) {
    var totalNotBlank =
      (computedState["app_id_" + name] != "" ? 1 : 0)
        + (computedState["app_secret_" + name] != "" ? 1 : 0);

    if (totalNotBlank == 1) {
      return "Need to enter " + name + " App ID and App Secret";
    }
  },

和验证哈希:

validation: {
    app_id_flickr: "validateFlickr",
    app_secret_flickr: "validateFlickr"
}
于 2013-07-24T21:18:20.430 回答
0

没有内置的东西可以管理这个。但是您可以使用验证器 API 添加您的自定义方法:

JS

$.validator.addMethod( "custom-rule", function( value ) {
    return true; // put your logic here
}, function() {
    return "error message";
});

HTML:

<input type="text" name="foo" class="custom-rule">
于 2013-07-24T21:00:29.713 回答