2013-07-24 91 views
1

我目前使用Backbone.validate進行表單驗證。骨幹驗證字段對

我需要能夠驗證字段對,這意味着如果你開始填寫'field1',那麼你也必須填寫'field2',反之亦然。如果您將它們留空,則驗證通過。

我有backbone.validate設置和單個字段的工作。

有什麼我可以使用,已經是驗證的一部分來聲明這一點?我似乎無法找到任何相關的東西。

謝謝!

回答

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" 
} 
+0

這幾乎是我們如何做到的。另外,你可以編輯問題並提供鏈接到驗證庫,它可以幫助其他人檢查這個。 – drax

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">