标签:
第一种方式单独为每一个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());
标签:
原文地址:http://www.cnblogs.com/yxlblogs/p/4224630.html