Asp.net mvc asp.net mvc 3中的远程验证

Asp.net mvc asp.net mvc 3中的远程验证,asp.net-mvc,validation,asp.net-mvc-3,unobtrusive-validation,Asp.net Mvc,Validation,Asp.net Mvc 3,Unobtrusive Validation,我们正在从mvc2升级到mvc3的过程中,远程验证功能确实遇到了问题。这就是web.config的appsetting的样子 <appSettings> <add key ="ClientValidationEnabled" value ="true"/> <add key ="UnobtrusiveJavaScriptEnabled" value ="true"/> <add key="CrystalImageCleaner-A


我们正在从mvc2升级到mvc3的过程中,远程验证功能确实遇到了问题。这就是web.config的appsetting的样子

<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>
[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; }

    }
我已经确保所需的jquery文件以正确的顺序加载到页面上。当我检查生成的html代码时,我找不到任何为远程验证生成的HTML5字段(存在用于正则表达式和所需验证的字段)


我不知道有什么问题。我创建了一个示例mvc3项目,在该项目中,一切似乎都很好,但当我尝试在我的应用程序中实现它时,它就是不起作用。非常感谢您的帮助
谢谢

[远程(“检查复制NIC”、“hcm”、“员工已存在”)]

这是罪魁祸首。在MVC2中,我为远程验证创建了自己的验证属性,该属性作为所有远程验证属性的基类,不幸的是,它的名称相同。当我转换到mvc3时,.NET仍然在向旧类(我为MVC2创建的类)传递参数。这就是为什么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">