2011-10-18 4 views
1

나는 눈에 거슬리지 않는 유효성 검사가 설정된 양식을 가지고 있으며 대부분의 경우 잘 작동합니다. 그러나 폼에서 select 요소를 비활성화해야하는 경우가 있습니다. 그런 다음 요소가 다시 활성화되는 경우가 대부분입니다 (주로 QA가 가능한 모든 상황을 시도하지만 여전히 그렇습니다). 이 경우 select 요소에 대한 "필수"유효성 검사 규칙이 더 이상 작동하지 않습니다.필드에서 ASP.NET MVC의 눈에 거슬리지 않는 유효성 검사를 다시 활성화하는 방법

필자는 엘리먼트의 룰 컬렉션에서 필수 규칙을 제거하고 다시 추가해 보았습니다. 나는 배선을 시도하고 here라고 기술 한 유효성 검사 확장 기능을 호출했다.

문제의 근본 원인을 알고 싶지만이 시점에서 해킹 및 해결 방법에 대해서도 열려 있습니다. 나는 이것이 해결 된 문제라고 느끼지만 내 검색에서 그것을 보지 않을 것입니다.

감사합니다, 마태 복음

업데이트 : 난 그냥 내 바보 같은 실수를 자백 대답을 선택하지 유혹하고 있지만, 웹 더 나은하지 않습니다. 무슨 일이 벌어 졌는지는 select 요소의 옵션이 다른 필드를 기반으로 동적이라는 것입니다. 비활성화는 다른 필드를 기반으로 옵션을 이동할 항목이 없을 때 발생하며 옵션을 다시 활성화하면 옵션이 새로 채워집니다. 내가하고있는 일은 "필수"규칙을 만족하는 옵션 목록을 다시 만들 때 기본 옵션에 "0"값을 넣는 것입니다. 기본값을 빈 문자열로 변경하고 문제가 해결되었습니다.

질문을 처리하기위한 프로토콜은 무엇이 아닌가? 나는 그것을 닫아야합니까? 당신이 #formId의 자녀 눈에 거슬리지 data- 속성이있는 모든 요소에 다시 눈에 거슬리지 유효성 검사를 사용하도록 설정해야하는, 내가 올바르게 기억

$.validator.unobtrusive.parse('#formId'); 

를 호출하면 어떻게됩니까

답변

0

.

+0

나는 이것을 시도했지만 믿을 것입니다. –

1

눈에 거슬리지 않는 유효성 검사 속성을 다시 구문 분석하려면 먼저 속성을 구문 분석 할 때 생성 된 validator 및 unobtrusiveValidation 데이터를 지워야합니다. 그런 다음 다시 구문 분석 할 수 있습니다.

$("form").removeData("validator"); 
$("form").removeData("unobtrusiveValidation"); 
$.validator.unobtrusive.parse("form"); 
관련 문제