ASP.NET MVC3 동시에 ASP.NET MVC3에서 IClientValidatable 인터페이스 클라이언트 및 서버 측의 확인을 사용하는 동안 말하는 IClientValidatable 인터페이스 클라이언트 및 서버 측 검증 사용

동시에 ASP.NET MVC3에서 사용 IClientValidatable 인터페이스 클라이언트와 서버 측 유효성 검사에 대해 이야기

 
예를 들어 범위으로 RegularExpression, 필수, StringLength 피어 인증 크게 서버 측에서 검증을 용이하게 속성, 그리고 우리는 또한 사용자 정의 유효성 검사가 우리의 특정 요구 사항을 충족하기 위해 속성 수는 MVC3는 더 검증의 용이성을 향상시키기 위해 등장 클라이언트 측 및 서버를 인증하는 IValidatableObject IClientValidatable 및 인터페이스뿐만 아니라주는 암묵적 지원 범위으로 RegularExpression, 필요 StringLength 다른 속성 확인을 추가로 실시.

. IValidatableObject 인터페이스는 온라인으로 많은 정보를 제공하고, 오늘은이 인터페이스를 IClientValidatable을 도입, IClientValidatable 인터페이스가 있습니다 ASP NET MVC 결과 지원 클라이언트 측 유효성 검사를 실행시에,이 인터페이스는 다른 인증 프레임 워크의 통합을 지원하는 데 사용됩니다 - 발췌 : ASP.NET MVC3 개요.

여기에서 우리는 IClientValidatable는 클라이언트와 서버 쪽을 확인 구현하는 인터페이스를 사용하는 방법을 살펴.

먼저 우리가 NoIsAttribute.cs에서 유효성 검사 속성을 정의 다음과 같이 주요 역할은 지정된 사용자 이름을 포함 할 수 없습니다 문자열 속성을 확인하는 것입니다 :

공공 봉인 클래스 NoIsAttribute : ValidationAttribute 
    { 
        공공 문자열 InputString {GET; 세트; } 
        공개 NoIsAttribute () 
        { 
            으로 ErrorMessage = "验证失败"; 
        } 

        공공 재정의 부울 IsValid (개체 값) 
        { 
            경우 (값 == NULL) 
                true를 반환; 
            문자열 inputString = (문자열) 값; 
            (inputString.Contains (InputString))의 경우 
            { 
                반환 거짓; 
            } 
            TRUE를 반환; 
        } 
    }


하자가 엔티티 클래스 Logon.cs를 만들

로그온 수준의 공공 
    { 
        [DisplayName이 ( "나이")] 
        [레인지 (6100)] 
        공공 INT 나이 {GET, SET;} 

        [DisplayName이 ( "이름")] 
        [NOIS (InputString = "Bujun 쉥"으로 ErrorMessage = "사용자 이름 Bujun 쉥 ")]가 포함되지 
        공공 문자열 이름 {GET을, SET를;} 

    }


Logon.cs 후 우리는 당신이 입력하면 로그인 과정에서 사용자가 포함되어 있으므로 "보 Junsheng을"는 확인되지 않지만 사용자가 서버에 데이터를 제출할 수 있습니다 때 속성이 아니라, NOIS 속성의 Name 속성을 확인하는 데 사용할 (사용자가 나이를 입력하면 클라이언트 측 유효성 검사 범위에 대한 asp.net mvc3 기본 지원하므로, 시대가 요구 사항을 충족하지 않는 경우하는 클라이언트를 인증 할 수 있기 때문에 속성 나이, 속성의 응용 프로그램을 확인 범위.) 데이터 유효성 검사, 우리는 우리의 NoIsAttribute.cs 코드를 변환 할 수 있도록 클라이언트 측에서 확인할 수 있습니다 NOIS 특성을 확인하기 위해, 우리는 IClientValidatable NoIsAttribute.cs 인터페이스를 구현해야합니다.

공공 봉인 클래스 NoIsAttribute : ValidationAttribute, IClientValidatable 
    { 
        공공 문자열 InputString {GET; 세트; } 
        공개 NoIsAttribute () 
        { 
            으로 ErrorMessage = "验证失败"; 
        } 
        공개는 IEnumerable <ModelClientValidationRule> GetClientValidationRules (ModelMetadata 메타 ControllerContext 컨텍스트) 
        { 
            ModelClientValidationRule 규칙 = 새로운 ModelClientValidationRule 
            { 
                ValidationType = "NOIS" 
                으로 ErrorMessage = FormatErrorMessage (metadata.GetDisplayName ()) 
            }; 
            = InputString를 [ "inputstring"] rule.ValidationParameters;
            반환 규칙을 얻을; 
        }

        공공 재정의 부울 IsValid (개체 값) 
        { 
            (값 == NULL을)하는 경우 
                true를 반환; 
            문자열 inputString = (문자열) 값; 
            (inputString.Contains (InputString))의 경우 
            { 
                반환 거짓; 
            } 
            TRUE를 반환; 
        } 
    }

IClientValidatable 인터페이스는 그 방법은, 한 우리는이 방법을 구현할 수있는 한,이 방법은 두개의 파라미터, 속성을 나타내는 메타 데이터의 메타 데이터를 확인하기를 포함한다) (1 개만 GetClientValidationRules 있고, 매우 간단하고, 컨텍스트 컨트롤러 전송 요청 상황을 표시하고, 컬렉션을 반환 ModelClientValidationRule.

의이 코드를 살펴 보자 :

ModelClientValidationRule 규칙을 신규 ModelClientValidationRule = 
            { 
                ValidationType = "NOIS" 
                으로 ErrorMessage = FormatErrorMessage (metadata.GetDisplayName ()) 
            };

이 코드는 ValidationType 인증의 유형은 두 가지 속성을하는 ModelClientValidationRule 객체를 생성하고 할당하는 것입니다, ErrorMessage가 잘못된 정보 (클라이언트 코드는 속성을 호출해야합니다).

우리가이 코드 뒤에 다음을 살펴 보자 :

 

= InputString를 [ "inputstring"] rule.ValidationParameters;

이 코드의 의미하는 것은 "inputstring"유효성 검사 속성을 추가하는 것입니다, 그 값은 참고 InputString은 ValidationParameters 사전, 가장 중요한 것은 키가 소문자 여야 ValidationParameters입니다,를 포함 할 수없는 IDictionary <문자열, 개체>는 점이다 문자를 대문자, 그렇지 않으면 명심해야 실행 오류 것입니다.

IClientValidatable.cs 완료 한 후, 우리는 또한 동시에 클라이언트와 서버 측 유효성 검사를 달성하기 위해 쓰기 클라이언트 측 코드가 필요합니다.

우리는 Web.config의에서 볼 수있는 기본적 asp.net mvc3으로는, 클라이언트 측 유효성 검사 및 검증 숨기기를 열었습니다

 

 

<appSettings는> 
    <= 키 값 = "참"/ "ClientValidationEnabled"추가> 
    < "UnobtrusiveJavaScriptEnabled"키 = 추가 = 값이 "true"/> 
  </ appSettings는>


그래서 asp.net mvc3 사용 JQuery와 유효성 검사 플러그인 기본적으로 클라이언트 인증을 위해 다음과 같은 그림 코드보기 파일을 볼 수 있도록

 

 

<스크립트 SRC = "@ Url.Content ("~ / 스크립트 / jquery.validate.min.js ")"유형 = "텍스트 / 자바 스크립트"> </ script> 
<스크립트 SRC = "@ Url.Content ("~ / 스크립트 / jquery.validate.unobtrusive.min.js ")"유형 = "텍스트 / 자바 스크립트"> </ script>


여기에서 우리는 유효성 검증 규칙에 사용자 정의 플러그인을 작성해야하고, 눈에 거슬리지에 추가 규칙, 코드는 그대로 다음과 같습니다 :

 

 

<script 타입 = "텍스트 / 자바 스크립트"> 
    $ .validator.addMethod ( "NOIS"기능 (값, 요소, PARAM) { 
        경우 (값 == false)를 { 
            true를 반환; 
        } 
        경우 (value.indexOf (PARAM)! = -1) { 
            false를 반환; 
        } 
        다른 { 
            true를 반환; 
        } 

    }); 
    $ .validator.unobtrusive.adapters.addSingleVal ( "NOIS", "inputstring"); 
</ script>



이 함수는 제 1 파라미터의 값은 값 IClientValidatable.cs ValidationType과 일치해야 addMethod 것을 주목해야하는 것은, "NOIS"이어야하는 $ .validator.unobtrusive.adapters.addSingleVal ( "NOIS"존재 ) "inputstring"; 문장과 같은 핵심 ValidationParameters 값의 제 파라미터 값 "inputstring"이어야한다.

이 관심있는 친구들은 다음에 시도 할 수 있습니다, 클라이언트와 서버 쪽을 달성 할 것이며 확인합니다.

 

 

재판 링크 : https://www.cnblogs.com/hyl8218/archive/2011/06/07/2074380.html
 
예를 들어 범위으로 RegularExpression, 필수, StringLength 피어 인증 크게 서버 측에서 검증을 용이하게 속성, 그리고 우리는 또한 사용자 정의 유효성 검사가 우리의 특정 요구 사항을 충족하기 위해 속성 수는 MVC3는 더 검증의 용이성을 향상시키기 위해 등장 클라이언트 측 및 서버를 인증하는 IValidatableObject IClientValidatable 및 인터페이스뿐만 아니라주는 암묵적 지원 범위으로 RegularExpression, 필요 StringLength 다른 속성 확인을 추가로 실시.

. IValidatableObject 인터페이스는 온라인으로 많은 정보를 제공하고, 오늘은이 인터페이스를 IClientValidatable을 도입, IClientValidatable 인터페이스가 있습니다 ASP NET MVC 결과 지원 클라이언트 측 유효성 검사를 실행시에,이 인터페이스는 다른 인증 프레임 워크의 통합을 지원하는 데 사용됩니다 - 발췌 : ASP.NET MVC3 개요.

여기에서 우리는 IClientValidatable는 클라이언트와 서버 쪽을 확인 구현하는 인터페이스를 사용하는 방법을 살펴.

먼저 우리가 NoIsAttribute.cs에서 유효성 검사 속성을 정의 다음과 같이 주요 역할은 지정된 사용자 이름을 포함 할 수 없습니다 문자열 속성을 확인하는 것입니다 :

공공 봉인 클래스 NoIsAttribute : ValidationAttribute 
    { 
        공공 문자열 InputString {GET; 세트; } 
        공개 NoIsAttribute () 
        { 
            으로 ErrorMessage = "验证失败"; 
        } 

        공공 재정의 부울 IsValid (개체 값) 
        { 
            경우 (값 == NULL) 
                true를 반환; 
            문자열 inputString = (문자열) 값; 
            (inputString.Contains (InputString))의 경우 
            { 
                반환 거짓; 
            } 
            TRUE를 반환; 
        } 
    }


하자가 엔티티 클래스 Logon.cs를 만들

로그온 수준의 공공 
    { 
        [DisplayName이 ( "나이")] 
        [레인지 (6100)] 
        공공 INT 나이 {GET, SET;} 

        [DisplayName이 ( "이름")] 
        [NOIS (InputString = "Bujun 쉥"으로 ErrorMessage = "사용자 이름 Bujun 쉥 ")]가 포함되지 
        공공 문자열 이름 {GET을, SET를;} 

    }


Logon.cs 후 우리는 당신이 입력하면 로그인 과정에서 사용자가 포함되어 있으므로 "보 Junsheng을"는 확인되지 않지만 사용자가 서버에 데이터를 제출할 수 있습니다 때 속성이 아니라, NOIS 속성의 Name 속성을 확인하는 데 사용할 (사용자가 나이를 입력하면 클라이언트 측 유효성 검사 범위에 대한 asp.net mvc3 기본 지원하므로, 시대가 요구 사항을 충족하지 않는 경우하는 클라이언트를 인증 할 수 있기 때문에 속성 나이, 속성의 응용 프로그램을 확인 범위.) 데이터 유효성 검사, 우리는 우리의 NoIsAttribute.cs 코드를 변환 할 수 있도록 클라이언트 측에서 확인할 수 있습니다 NOIS 특성을 확인하기 위해, 우리는 IClientValidatable NoIsAttribute.cs 인터페이스를 구현해야합니다.

공공 봉인 클래스 NoIsAttribute : ValidationAttribute, IClientValidatable 
    { 
        공공 문자열 InputString {GET; 세트; } 
        공개 NoIsAttribute () 
        { 
            으로 ErrorMessage = "验证失败"; 
        } 
        공개는 IEnumerable <ModelClientValidationRule> GetClientValidationRules (ModelMetadata 메타 ControllerContext 컨텍스트) 
        { 
            ModelClientValidationRule 규칙 = 새로운 ModelClientValidationRule 
            { 
                ValidationType = "NOIS" 
                으로 ErrorMessage = FormatErrorMessage (metadata.GetDisplayName ()) 
            }; 
            = InputString를 [ "inputstring"] rule.ValidationParameters;
            반환 규칙을 얻을; 
        }

        공공 재정의 부울 IsValid (개체 값) 
        { 
            (값 == NULL을)하는 경우 
                true를 반환; 
            문자열 inputString = (문자열) 값; 
            (inputString.Contains (InputString))의 경우 
            { 
                반환 거짓; 
            } 
            TRUE를 반환; 
        } 
    }

IClientValidatable 인터페이스는 그 방법은, 한 우리는이 방법을 구현할 수있는 한,이 방법은 두개의 파라미터, 속성을 나타내는 메타 데이터의 메타 데이터를 확인하기를 포함한다) (1 개만 GetClientValidationRules 있고, 매우 간단하고, 컨텍스트 컨트롤러 전송 요청 상황을 표시하고, 컬렉션을 반환 ModelClientValidationRule.

의이 코드를 살펴 보자 :

ModelClientValidationRule 규칙을 신규 ModelClientValidationRule = 
            { 
                ValidationType = "NOIS" 
                으로 ErrorMessage = FormatErrorMessage (metadata.GetDisplayName ()) 
            };

이 코드는 ValidationType 인증의 유형은 두 가지 속성을하는 ModelClientValidationRule 객체를 생성하고 할당하는 것입니다, ErrorMessage가 잘못된 정보 (클라이언트 코드는 속성을 호출해야합니다).

우리가이 코드 뒤에 다음을 살펴 보자 :

 

= InputString를 [ "inputstring"] rule.ValidationParameters;

이 코드의 의미하는 것은 "inputstring"유효성 검사 속성을 추가하는 것입니다, 그 값은 참고 InputString은 ValidationParameters 사전, 가장 중요한 것은 키가 소문자 여야 ValidationParameters입니다,를 포함 할 수없는 IDictionary <문자열, 개체>는 점이다 문자를 대문자, 그렇지 않으면 명심해야 실행 오류 것입니다.

IClientValidatable.cs 완료 한 후, 우리는 또한 동시에 클라이언트와 서버 측 유효성 검사를 달성하기 위해 쓰기 클라이언트 측 코드가 필요합니다.

우리는 Web.config의에서 볼 수있는 기본적 asp.net mvc3으로는, 클라이언트 측 유효성 검사 및 검증 숨기기를 열었습니다

 

 

<appSettings는> 
    <= 키 값 = "참"/ "ClientValidationEnabled"추가> 
    < "UnobtrusiveJavaScriptEnabled"키 = 추가 = 값이 "true"/> 
  </ appSettings는>


그래서 asp.net mvc3 사용 JQuery와 유효성 검사 플러그인 기본적으로 클라이언트 인증을 위해 다음과 같은 그림 코드보기 파일을 볼 수 있도록

 

 

<스크립트 SRC = "@ Url.Content ("~ / 스크립트 / jquery.validate.min.js ")"유형 = "텍스트 / 자바 스크립트"> </ script> 
<스크립트 SRC = "@ Url.Content ("~ / 스크립트 / jquery.validate.unobtrusive.min.js ")"유형 = "텍스트 / 자바 스크립트"> </ script>


여기에서 우리는 유효성 검증 규칙에 사용자 정의 플러그인을 작성해야하고, 눈에 거슬리지에 추가 규칙, 코드는 그대로 다음과 같습니다 :

 

 

<script 타입 = "텍스트 / 자바 스크립트"> 
    $ .validator.addMethod ( "NOIS"기능 (값, 요소, PARAM) { 
        경우 (값 == false)를 { 
            true를 반환; 
        } 
        경우 (value.indexOf (PARAM)! = -1) { 
            false를 반환; 
        } 
        다른 { 
            true를 반환; 
        } 

    }); 
    $ .validator.unobtrusive.adapters.addSingleVal ( "NOIS", "inputstring"); 
</ script>



이 함수는 제 1 파라미터의 값은 값 IClientValidatable.cs ValidationType과 일치해야 addMethod 것을 주목해야하는 것은, "NOIS"이어야하는 $ .validator.unobtrusive.adapters.addSingleVal ( "NOIS"존재 ) "inputstring"; 문장과 같은 핵심 ValidationParameters 값의 제 파라미터 값 "inputstring"이어야한다.

이 관심있는 친구들은 다음에 시도 할 수 있습니다, 클라이언트와 서버 쪽을 달성 할 것이며 확인합니다.

 

 

추천

출처www.cnblogs.com/fengzhuqingwan/p/12076912.html