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">