У меня есть проект MVC4, который использует ненавязчивую проверку, но для одного раздела я использую knockoutjs.плагин проверки jquery не работает с ненавязчивым js ссылкой
У меня есть установочный нокаут, чтобы использовать плагин проверки jquery, но когда я вызываю $ («form»). Valid(), он не ведет себя так, как ожидалось.
У меня есть нокаутирующий рендеринг таблицы в форме, которая будет содержать несколько строк для проверки. Первая строка таблицы должна игнорироваться при проверке и используется для добавления новых объектов в список. Я дал каждому объекту в первой строке класс «firstRow»
Я установки валидатора как таковой
var validator = $("form").validate({
ignore: ".firstRow"
});
, но когда я называю
$("form").valid()
Я заметил, что все элемент, являются недействительными (включая первую строку), добавляя к ним добавленную к классу «ошибку ввода-проверки».
Во-первых, я бы ожидал, что эта первая строка будет проигнорирована.
Во-вторых, я не ожидал, что этот класс будет применен, поскольку это ненавязчивая проверка делает это. Я ожидал бы, что класс «ошибка» будет применяться вместо него из плагина проверки jquery.
Когда я исключаю ссылку на jquery.validation.unobtrusive.js, тогда все работает, но я не могу этого сделать, поскольку это необходимо для остальной части сайта.
Я думаю, что это код, выполняемый каким-то образом из jquery.validation.unobtrusive, но я хотел бы знать, как остановить это от выполнения?
function validationInfo(form) {
var $form = $(form),
result = $form.data(data_validation),
onResetProxy = $.proxy(onReset, form);
if (!result) {
result = {
options: { // options structure passed to jQuery Validate's validate() method
errorClass: "input-validation-error",
errorElement: "span",
errorPlacement: $.proxy(onError, form),
invalidHandler: $.proxy(onErrors, form),
messages: {},
rules: {},
success: $.proxy(onSuccess, form)
},
attachValidation: function() {
$form
.unbind("reset." + data_validation, onResetProxy)
.bind("reset." + data_validation, onResetProxy)
.validate(this.options);
},
validate: function() { // a validation function that is called by unobtrusive Ajax
$form.validate();
return $form.valid();
}
};
$form.data(data_validation, result);
}
return result;
}
Вы смотрели в [Knockout-Validation] (http://stackoverflow.com/questions/8996449/knockout-validation)? – nwayve
У меня еще нет примеров на странице knockoutjs с использованием jquery validator. –