试图学习ASP.net MVC的基础知识,并不能理解为什么我的客户端验证不起作用。MVC 4客户端验证不起作用
我有这两个我的web.config文件(1是全球性的1是在views文件夹)
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
我在_layout.cshtmlfile有这个
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/Scripts/jquery.validate.unobtrusive.min.js")
@Scripts.Render("~/Scripts/jquery.validate.min.js")
这是我的视图模型针对IM测试报名时间:
public class RegisterVM
{
[Required(ErrorMessage="Username Required")]
public string username { get; set; }
[RegularExpression(@"((?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,20})")]
[Required(ErrorMessage="Password Required")]
public string password { get; set; }
[Compare("password", ErrorMessage="Passwords do not match")]
public string passwordConfirm { get; set; }
}
这是我的HTML
@using(@Html.BeginForm()){
@Html.LabelFor(model => model.username)
@Html.EditorFor(model => model.username)
@Html.ValidationMessageFor(model => model.username)<br />
@Html.LabelFor(model => model.password)
@Html.PasswordFor(model => model.password)
@Html.ValidationMessageFor(model => model.password)<br />
@Html.LabelFor(model => model.passwordConfirm)
@Html.EditorFor(model => model.passwordConfirm)
@Html.ValidationMessageFor(model => model.passwordConfirm)<br />
<input type="submit" value="Register" />
}
不想发布在这里,我读了几个关于这里相关的话题,但似乎无法解决我的问题,当我点击提交发布/获取请求。
我不记得确切,但在'_layout.cshtmlfile'正确加载的文件的顺序?你是不是错过了第一个声明中的js,你是否检查过在浏览器中加载的文件? –
查看源代码显示所有文件已加载。 – Larry
您是否尝试在validate.unobtrusive.min.js之前加载validate.min.js – Adil