要比较模型的两个属性,有一个比较验证属性。
模型
public class NewUser
{
public string Name{get;set;}
public string UserName {get;set;}
[Required]
public string Password {get;set;}
[Compare("Password")]
public string ConfirmPassword { get; set; }
}
看法
@using (Html.BeginForm())
{
@Html.LabelFor(m => m.Password)
@Html.PasswordFor(m => m.Password)
@Html.ValidationMessageFor(m => m.Password)
@Html.LabelFor(m => m.ConfirmPassword)
@Html.PasswordFor(m => m.ConfirmPassword)
@Html.ValidationMessageFor(m => m.ConfirmPassword)
<input type="submit" value="insert" />
}
控制器
[HttpPost]
public ActionResult Login(NewUser model)
{
if (ModelState.IsValid)
{
// validation successful
return RedirectToAction("Index"); // or any other logic
}
return View(model);
}
网页配置
<configuration>
<appSettings>
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
</configuration>
要执行客户端验证,请确保您的页面中包含以下脚本
jquery-{version}.js
:jquery.validate.js
和jquery.validate.unobtrusive.js
. 脚本的顺序应该保持不变。