2013-08-05 2 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