2013-08-05 5 views
2

Я работаю над проверкой клиента в моем приложении ASP.NET MVC 4. Я пытаюсь переопределить резюме валидации по умолчанию из ненавязчивой проверки jquery. Существует метод «OnErrors», который мне нужно переопределить. Я нашел решение, но для меня он работает только с одиночными ошибками. Вот код:Сводная сводка валидации в ASP.NET MVC 4

$(function() { 
var settings = $.data($('form')[0], 'validator').settings; 

var oldErrorFunction = settings.errorPlacement; 
var oldErrorsFunction = settings.invalidHandler; 
var oldSucessFunction = settings.success; 


settings.invalidHandler = function (form, validator) {   
    alert("Form is invalid"); 
    oldErrorsFunction(form, validator); 
} 

settings.errorPlacement = function (error, inputElement) { 
    $(".validation-summary-errors").append("single error "); 
    var errorsNumber = 0; 
     $(".validation-summary-errors li").each(function() { 
      errorsNumber++;   
     });    
    oldErrorFunction(error, inputElement);   
}  
settings.success = function (error) { 
    oldSucessFunction(error); 
} 

});

errorPlacement (для каждой отдельной ошибки) работает хорошо, но invalidHandler (для всех ошибок одновременно) никогда не срабатывает.

Как вы справитесь? Благодаря

ответ

3

Мы эту работу для нас:

form.unbind("invalid-form.validate", form.validate().settings.invalidHandler); // Unbind the existing invalidHandler 
form.validate().settings.invalidHandler = $.proxy(customValidationSummary, form); // Replace invalidHandler with a custom one 
form.bind("invalid-form.validate", form.validate().settings.invalidHandler); // Rebind the new invalidHandler 
Смежные вопросы