MVC4模型验证服务器端API中的控制器 [英] MVC4 Model Validation Server Side in API Controller

查看:129
本文介绍了MVC4模型验证服务器端API中的控制器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个管理视图和视图的一部分是用于注册新用户数的文本框。我使用的是RegisterModel类作为我的视图模型的一部分​​,所以我让所有的客户端验证,但我停的形式使用jQuery提交,使用jquery验证确认客户端,然后将模型发送到API控制器阿贾克斯。

I've got an admin view and on part of the view are a few text boxes for registering new users. I'm using a RegisterModel class as part of my view model so that I get all the client side validation, but I'm stopping the form submit using jquery, confirming validation client side using jquery, then sending the model to an API controller with ajax.

下面是我RegisterModel的简化版。

Here's a stripped down version of my 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控制器我的注册方法启动:

Here's the start of my Register method in my API controller:

[HttpPost]
public void Register (RegisterModel newUser)
{
   // Validate User

}

我怎么可以把我所有的数据注解的优势和验证我的模型在我的API控制器?喜欢的东西newUser.Validate();

How can I take advantage of all my data annotations and validate my model in my API controller? Something like newUser.Validate();

推荐答案

您可以使用

if (ModelState.IsValid) {

动作验证模型内。

inside the action to validate the model.

[HttpPost]
public void Register (RegisterModel newUser)
{
     if (ModelState.IsValid) {
     //process form data

      }

}

这篇关于MVC4模型验证服务器端API中的控制器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆