2011-05-07 3 views
2

내가 가진 asp.net 파일이 하나는 RequiredFieldValidator와 CustomValidator가 동시에 실행됩니까?

  • 인 아이템을 선택해야하는 목록 상자를 선택해야합니다,

    • 3 라디오 박스를
    • 보안 문자 - 검증

    이제 4 개의 유효성 검사기가 있습니다.

    • 라디오 박스 CustomValidator
    • (세션에 보존된다) 보안 문자 - 검증을 위해 목록 상자
    • 직접 CustomValidator에 대한
    • 직접 CustomValidator captcha를-텍스트 상자에 대한
    • 의 RequiredFieldValidator하지 비어 있습니다.

    내 문제는 주문입니다. 사용자가 형식을 보내려고하면 4 개의 유효성 검사기가 모두 틀리면 다른 3 개가 서버 측이므로 RequiredFieldValidator 만 표시됩니다. 사용자는 이제 "오, 실수 하나"라고 생각하고 수정했습니다. 그리고 그 후에 3 가지 다른 실수가 생기고 사용자는 그 것에 대해 조금 화가 날 것입니다. "왜 시스템이 처음 플레이에서 나에게 말하지 않습니까?"

    그럼 어떻게 사용자 친화적 인 solutiton이 있습니까?

    동시에 서버 쪽 유효성 검사를 실행하는 방법이 있습니까? 클라이언트 쪽 유효성 검사가 실패합니까? 또는 서버 쪽에서 클라이언트 쪽 유효성 검사를 시작하는 방법이 있습니까?

    (주의! RequiredFieldValidator를 Remoce하고 대신 네 번째 CustomValidator를 수행하려고합니다.이 작업을 수행 할 때 4 CustomValidator와 아무 Requ-Field-Val도 없습니다. 결국 CustomValidator가 적용되지 않습니다. 포뮬러 (나는 이유를 알지 못한다.) = 전송되는 방식의

  • 답변

    2

    하나는 EnableClientScript 속성을 사용하여 필요한 필드 유효성 검사기에 대한 클라이언트 측 유효성 검사를 해제하는 것입니다. 있도록 서버 측에 대한 모든 검증.

    하지만 더 좋은 방법은 (가능하다면) 클라이언트 쪽 유효성 검사를 모두 사용하는 것입니다. 즉, ClientValidationFunction 속성을 사용하여 사용자 정의 유효성 검사기에서 사용자 정의 js 유효성 검사 논리를 사용하십시오. 그의 예 : article.

    1

    컨트롤 유효성 검사기 및 제출 기능에 대한 ValidationGroup = "abc"속성 추가 Page.Validate ("abc") 메서드를 사용하여 서버 쪽 컨트롤을 특정 시간에 유효성을 검사합니다.

    이와 비슷한 것.

    Page.Validate("abc") 
    If Not Page.IsValid Then 
        Return False 
    End If 
    
    관련 문제