我们正在从 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 字段(那里存在正则表达式和所需验证的字段)
<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 项目,在该项目中一切似乎都工作正常,但是当我尝试在我的应用程序中实现它时它就不起作用。非常感谢任何帮助。
谢谢