2013-07-24 3 views
1

В настоящее время я использую Backbone.validate для проверки формы.магистраль проверяет пары полей

Мне нужно уметь проверять пары полей, то есть, если вы начинаете заполнять поле «1», вам также нужно заполнить поле «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"> 
Смежные вопросы