码迷,mamicode.com
首页 > Windows程序 > 详细

ASP.NET Web API 数据验证

时间:2015-01-14 19:50:33      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:

第一种方式单独为每一个Action做验证

 // POST api/values
        public HttpResponseMessage Post([FromBody]UserInfo userInfo)
        {
         
            if (string.IsNullOrWhiteSpace(userInfo.Gender))
            {
                ModelState.AddModelError("Gender", "性别不能为空");
            }

            if (ModelState.IsValid)
            {
                // Do something with the product (not shown).
                return new HttpResponseMessage(HttpStatusCode.OK);
            }
            else
            {
                return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
            }
        }
public class UserInfo
    {
        public int Id { get; set; }
        [Required]
        [StringLength(20, ErrorMessage = "名字太长了或者太短了", MinimumLength = 4)]
        public string Name { get; set; }

        [RegularExpression(@"([2-5]\d)", ErrorMessage = "年龄在20-50之间")]
        public int Age { get; set; }

        public string Gender { get; set; }
    }

第二种做全局验证:

 public class ValidationAttribute : ActionFilterAttribute
    {
        public override void OnActionExecuting(HttpActionContext actionContext)
        {
            if (!actionContext.ModelState.IsValid)
            {
                actionContext.Response = actionContext.Request.CreateErrorResponse(
                    HttpStatusCode.BadRequest,
                    actionContext.ModelState);
            }
        }
    }

WebApiConfig.cs

   config.Filters.Add(new ValidationAttribute());

 

ASP.NET Web API 数据验证

标签:

原文地址:http://www.cnblogs.com/yxlblogs/p/4224630.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!