2009-07-28 3 views
0

서버 sidie ​​(.net mvc)에서 수행하는 사용자 정의 유효성 검사가 있습니다.jqueries 유효성 검사 플러그인을 사용하여 서버 측에서 클라이언트 측으로 오류를 보내는 방법은 무엇입니까?

실패하면 입력 상자 옆에있는 메시지로 사용자에게 알리고 싶습니다 (jqueries 유효성 검사 플러그인이 어떻게 작동하는지).

유효성 검사 플러그인에 내장 함수가 있습니까?이 작업을 호출 할 수 있습니까?

업데이트 해결책은 플러그인 자체를 사용하는 것이 이상적입니다. 사용할 수있는 메소드 호출이 있습니까?

답변

1

이 작업을 수행하는 xVal이라는 오픈 소스 프로젝트가 있습니다. 다음은 프로젝트 홈 페이지에서 발췌 한 내용입니다.

프로젝트 설명 xVal은 ASP.NET MVC 응용 프로그램의 유효성 검사 프레임 워크입니다. 따라서 서버 측 유효성 검사 메커니즘을 에 쉽게 연결하고 클라이언트 측 유효성 검사 라이브러리 을 ASP.NET MVC 아키텍처 및 표기법에 깔끔하게 맞출 수 있습니다. 특징

  • 모델 속성에 대한 속성을 사용하여 유효성 검사 규칙 정의, 예를 들어,

    [필수] [StringLength (50)] 공공 문자열 이름 {얻을; 세트; }

(당신이 원하는 경우 또는, 당신은 프로그래밍 방식 규칙을 제공하거나 특정 뷰에서 바로 하드 코드 그들을 수)에 대한 ASP.NET MVC 규칙에 맞게

  • 을 설계 양식 게시물 을 저장하고 ModelContate에 정보를 저장하고 검색하십시오.
  • 서버 측 유효성 검사 프레임 워크를 선택하십시오. 상자 밖에서 xVal을 사용하면 .NET 3.5의 기본 제공 DataAnnotations 클래스 또는 Castle Validator (또는 둘 다)를 사용할 수 있습니다. 다른 것을 사용하고 싶다면 IRulesProvider를 구현하여 자신의 공급자를 만들 수 있습니다.
  • 클라이언트 측 유효성 검사 라이브러리를 선택하십시오. 즉시 사용할 수있는 xVal을 사용하면 jQuery 유효성 검사 또는 ASP.NET의 기본 클라이언트 측 유효성 검사 라이브러리 ( WebForms에서 사용하는 WebUIValidation.js) 유효성 검사 라이브러리를 사용할 수 있습니다. 또는 클라이언트 측 유효성 검사 라이브러리 을 플러그인을 작성하여 xval의 표준 JSON 규칙 설명 형식을 사용하여 구성하십시오.
  • 리소스 파일을 사용하여 지역화 된 오류 메시지를 지원합니다. 메시지의 언어를 현재 스레드 문화에 따라 다르게 지정하십시오.
  • 은 자바 스크립트 기능 기존 규칙을 하위 클래스 또는 사용자 정의를 참조하여 하나의 서버 및 클라이언트에서 모두 실행 지정 유효성 검사 로직을 추가
당신은 지정 유효성 검사 기능을 만들 수
0

및 아약스 통화로 연결하십시오. 이 경우 ajax 호출은 'true'또는 'false'라는 텍스트를 반환합니다.

var customFunction = function(value, element, param) { 
    var isValid = false; 
    $.ajax({ 
     url: '/something', 
     data:{value: value}, 
     success: function(data, textStatus) {isValid = data;}, 
     dataType: 'json', 
     async: false 
    }); 
    return isValid; 
}; 

$.validator.addMethod("customFunction", customFunction, "That isn't valid."); 

$('form').validate({ 
    rules: { 
     fieldname: { 
      customFunction: true 
     } 
    } 
}); 

편집 : 사실, svinto 대신 언급 원격 메소드를 사용합니다. 나는 그것이 존재한다는 것을 몰랐다. 나는 바보다.

2

예,이 중 an example이 있습니다.

당신은 기본적으로 URL?FIELD=value으로 전화를 걸고 서버에서는 true 또는 false을 반환합니다.

관련 문제