2012-08-29 3 views
11

일부 폼 생성기는 요소 목록을 페이지에 렌더링하고 모두 유효성을 검사합니다. HTML 소스를 보면 다음과 같은 내용을 볼 수 있습니다 :jQuery를 사용하여 요소에 대한 유효성 검사 사용 안 함 유효성 검사

<input type="text" id="email" name="email" data-val-required="No valid email address!" data-val="true"> 

그런 요소에 대한 유효성 검사를 활성화/비활성화하는 데 필 요한 방법이 필요합니다. 나는 false으로 설정하고 true으로 돌아가서 data-val 속성을 활성화/비활성화하려고했습니다. 그러나 그것은 그것에 반응하지 않는 것 같습니다. 정품 확인은 항상 있습니다!

동적 인 방법으로 특정 필드에서 유효성 검사를 사용/사용 중지 할 수있는 사람이 누구인지 알고 계십니까?

답변

37

가 실제로 더 나은 내 요구에 맞는 솔루션을 발견했다.

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

을 그리고 그와 나는 '토글'내가 추가하거나 요소에서 클래스 이름 ignore을 제거하여 원하는 요소 수 : 나는 다음을 수행 할 수 있습니다.

+1

정말 멋진 솔루션! :) –

+7

기본 jquery 유효성 검사 동작을 유지하려면'settings.ignore = ": hidden, .ignore"개인적으로 선호하는 것은': disabled "도 덧붙여 야합니다 –

+1

출처 : http://weblogs.asp.net /imranbaloch/archive/2011/07/13/overriding-unobtrusive-client-side-validation-settings-in-asp-net-mvc-3.aspx – WolfyUK

13

나는 이것이 도움이 될 것이라고 생각합니다.

<div class="editor-field"> 
     @{ Html.EnableClientValidation(false); } 
     @Html.TextBoxFor(m => m.BatchId, new { @class = "k-textbox" }) 
     @{ Html.EnableClientValidation(true); } 
</div> 
+1

이것은 허용 된 대답이어야합니다! 이보다 2 년 더 최근의 것보다 – JavierIEH

+0

@ JavierIEH이 답변은 더 새롭고 효과적 일지 모르지만 페이지 렌더링 시간에만 작동합니다. 플라이 클라이언트 측에서 검사기를 활성화/비활성화하려는 사람은 이전 답변을 사용해야합니다. – mikeschuld

+0

잘 대답은 사용자의 문제에 따라 다를 수 있습니다. –

관련 문제