【发布时间】:2013-09-06 11:16:01
【问题描述】:
我有一个管理视图,部分视图是一些用于注册新用户的文本框。我使用 RegisterModel 类作为我的视图模型的一部分,以便获得所有客户端验证,但我正在停止使用 jquery 提交表单,使用 jquery 确认验证客户端,然后将模型发送到 API 控制器ajax。
这是我的 RegisterModel 的精简版。
[Required(ErrorMessage = "User Name Required")]
public string UserName { get; set; }
[Required(ErrorMessage = "Email Required")]
[RegularExpression("REGEX", ErrorMessage = "Invalid Email")]
public string Email { get; set; }
[Required(ErrorMessage = "Password Required")]
public string Password { get; set; }
[Compare("Password", ErrorMessage = "Passwords do not match")]
public string ConfirmPassword { get; set; }
这是我的 API 控制器中注册方法的开始:
[HttpPost]
public void Register (RegisterModel newUser)
{
// Validate User
}
如何利用我的所有数据注释并在我的 API 控制器中验证我的模型?类似 newUser.Validate();
【问题讨论】:
-
你问的是服务器端验证吗?
-
如果您谈论客户端,请确保您在 web.config 中启用了不显眼的验证,当您尝试提交表单时,该过程将自动进行。如果您谈论服务器端使用
if (Model.IsValid) { /* Save */ } else { /* return view with model */ } -
这就是我在问题标题中所说的......
标签: jquery asp.net-mvc asp.net-mvc-3 validation asp.net-mvc-4