Я новичок в knockoutjs. У меня есть две формы, которые имеют одну и ту же модель. Я пытаюсь проверить некоторые входы и т. Д. Форма имеет похожие поля ввода, но у них разные идентификаторы. Проблема в том, что когда я печатаю что-то в почтовом индексе первой формы, результат всегда появляется во второй форме. Есть ли что-то, что я могу сделать?valueUpdate события применяются на нескольких viewmodel knockoutjs
http://jsfiddle.net/gZC5k/3208/
<form id="c1"method="post" action="" >
<input name="zipcode" type="text" id="zipcode" data-bind="value: zipcode, valueUpdate: ['keyup', 'blur']" >
</form>
<form id="c2" method="post" action="">
<input name="zipcode" type="text" id="zipcode" data-bind="value: zipcode, valueUpdate: ['keyup', 'blur']">
</form>
var Contact = function(id) {
var self = this;
ko.validation.rules['mustEqual'] = {
async: true,
validator: function (val, otherVal, callback) {
$(id).append("result");
},
message: 'The field must equal {0}'
};
ko.validation.registerExtenders();
self.zipcode = ko.observable(12).extend({ mustEqual: 5 });
}
ko.applyBindings(new Contact(document.getElementById("c1")),document.getElementById("c1"));
ko.applyBindings(new Contact(document.getElementById("c2")), document.getElementById("c2"));
Что вы пытаетесь проверить? вы пытаетесь проверить, введен ли введенный zipcode, к определенному постоянному номеру?? –
это не моя проблема, проверьте ссылку jsfiddle, и у вас возникнет проблема. Когда я набираю первое поле ввода, он показывает мне сообщение во втором. но я хочу это в первом. Поэтому, когда я ошибаюсь в первом входе [первая форма], я хочу получить сообщение в первой форме. то же самое для второго входа –
возникает пара проблем ... в вашем коде валидатор должен указывать на метод обратного вызова, который возвращает true или false, указывающий, что проверка прошла неудачно или нет. вы добавляете туда манипуляции DOM. еще одна вещь ... регистрация валидатора должна быть глобальной вещью, которую вы добавляете в определение модели вашего представления ... делая регистр фрейма каждый раз, когда вы создаете модель представления, не уверен, что это поможет .. http: // jsfiddle. net/ppcoj20n/2/ –