0


mvc2에서 mvc3으로 업그레이드하는 중이고 원격 인증 기능에 문제가 있습니다. 의 Web.config의 appsetting이원격 유효성 검사 asp.net mvc 3

<appSettings> 
    <add key ="ClientValidationEnabled" value ="true"/> 
    <add key ="UnobtrusiveJavaScriptEnabled" value ="true"/> 
    <add key="CrystalImageCleaner-AutoStart" value="true" /> 
    <add key="CrystalImageCleaner-Sleep" value="60000" /> 
    <add key="CrystalImageCleaner-Age" value="120000" /> 
    </appSettings> 

이 내가 필요한 JQuery와 파일이 올바른 순서로 페이지에로드되어 있는지 확인 만든

[MetadataType(typeof(setupEmployeeValidator))] 
    public partial class setupEmployee { } 


    public class setupEmployeeValidator 
    { 
     [Required(ErrorMessage = "Employee Name is Required")] 
     [StringLength(50, ErrorMessage = "Employee Name should be less than {1} characters")] 

     public String EmployeeName { get; set; } 
     [Required(ErrorMessage = "ID card number is Required")] 
     [RegularExpression(@"^\d{5}-\d{7}-\d{1}", ErrorMessage = "Format for CNIC is xxxxx-xxxxxxx-x")] 
     [StringLength(16, ErrorMessage = "ID card number should be less than {1} characters")] 
     [Remote("CheckDuplicateNIC","hcm","Employee Already Exists")] 
     public String CNIC { get; set; } 
     [Required(ErrorMessage = "Gender is Required")] 
     public String Gender { get; set; } 
     [Required(ErrorMessage = "Religion is Required")] 
     [StringLength(50, ErrorMessage = "Religion should be less than {1} characters")] 
     public String Religion { get; set; } 
     public DateTime? DOB { get; set; } 
     [Required(ErrorMessage = "Nationality is Required")] 
     [StringLength(50, ErrorMessage = "Nationality should be less than {1} characters")] 
     public String Nationality { get; set; } 
     [Required(ErrorMessage = "Marital Sataur is Required")] 
     public String MaritalStatus { get; set; } 
     public int ScaleID { get; set; } 

    } 

처럼 내 모델과 관련 메타 데이터는 모습입니다처럼 보이는 방법이다. 내가 생성 된 HTML 코드를 검사 할 때 내가 원격 확인을 위해 생성 된 HTML5 필드를 찾을 수없는

<input type="text" value="" name="CNIC" id="CNIC" data-val-required="ID card number is Required" data-val-regex-pattern="^\d{5}-\d{7}-\d{1}" data-val-regex="Format for CNIC is xxxxx-xxxxxxx-x" data-val-length-max="16" data-val-length="ID card number should be less than 16 characters" data-val="true"> 

내가 문제가 될 수 모르겠어요 (정규식 필요한 검증을위한 필드가 존재한다). 나는 샘플 mvc3 프로젝트를 만들었고 그 proejct에서 모든 것이 잘 작동하는 것처럼 보였습니다. 그러나 그것을 어플리케이션에서 구현하려 할 때 작동하지 않습니다. 어떤 도움을 주셔서 감사합니다.
감사

답변

1

는 [원격 ("CheckDuplicateNIC가", "HCM은", "직원이 이미 존재하는")] 상기 라인

범인이다. MVC2에서 모든 원격 유효성 검사 속성에 대해 기본 클래스로 제공되고 동일한 이름으로 불행히도 원격 유효성 검사에 대한 자체 유효성 검사 특성을 만들었습니다. 내가 mvc3으로 변환했을 때, .NET은 여전히 ​​매개 변수를 이전 클래스 (MVC 2 용으로 생성 된 클래스)로 전달하고있었습니다. 그래서 html5 속성은 원격 유효성 검증을 위해서만 생성되지 않았습니다.
감사합니다.

관련 문제