2011-09-02 5 views
1

현재 일부 유효성 검사를 수행중인 모달 창에 양식이 있습니다. 는 (내가 ASP.NET MVC, JQuery와 UI, 아약스 양식, 데이터 주석을 사용하고 눈에 거슬리지이 활성화됩니다) MVC 유효성 검사가 트리거 될 때 DOM의 변경 사항은 무엇입니까?

이 유효성 검사가 나는 그것이 몇 가지 않는다는 것을 지금까지 발견했습니다 트리거

:

1 : 내 검증 요약이 클래스는 .validation-summary-errors

2 .validation-summary-valid에서 변경된됩니다 : 내 유효하지 않은 입력은 다음에 추가 클래스가

3 .input-validation-error라는이 내 검증 메시지는 자신의 클래스는에 .field-validation-valid 변경 얻을 10

하지만 뭔가 다른 일을하고 있으며 어떻게 추적하는지 알 수 없습니다.

필자는이 상자 내부에서 선택할 수있는 유효성 검사를 시작하기 전에 필요한 텍스트 상자가 있으며 다른 상자를 선택하면 유효성 검사가 자동으로 수행됩니다.

하지만 빈 텍스트 상자를 사용하여 제출을 클릭하여 유효성 검사를 실행하는 즉시 텍스트 상자를 선택하고 유효성 검사를 즉시 제거하도록 입력 할 수 있습니다. 그렇다면 null을 입력하고이 상자를 다시 선택하면 재 제출하지 않고 신청.

내 질문은 : 변경된 사항, 이미 제출을 시도했음을 어떻게 알 수 있습니까?

답변

1

validate가 호출되면 유효성이 검사되어야하는 각 입력/선택에 클래스를 추가합니다. 선택 입력이/유효하지 않은 경우는 입력에 클래스를 추가/선택이 유효하면

class="input-validation-error" 

, 그것은 추가 : 변경 제어에

class="valid" 

검증에만 불을 그 가치는 초점을 잃을 때가 아닙니다.

유효성 검사는 양식을 제출하기 전에도 변경 사항이 적용됩니다. 필요한 텍스트 상자를 가져다가 값을 추가하고 탭을 해제 한 다음 해당 값으로 이동하면 해당 텍스트 상자가 빨간색으로 강조 표시됩니다.

+0

정확합니다, 트리거는 텍스트 상자가 변경된 것 같습니다. 그러나 나는 아직도 조금 혼란 스럽다. 클래스가없는 텍스트 상자를 선택하고, 탭을 해제하고, 클래스가 없으며 값을 입력하고 제거합니다. 오류 클래스가 있습니다. 그런 다음 JQuery를 사용하여 취소 단추를 사용하여이 클래스를 제거합니다. 창을 다시 열어 입력을 검사하면 클래스가 없습니다 (이전과 같음). 그러나이 탭을 탭 해제해도 유효성 검사가 시작됩니다. 어떻게 알 수 있습니까? – 4imble

관련 문제