zoukankan      html  css  js  c++  java
  • ASP.NET Web API 数据验证

    第一种方式单独为每一个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());
  • 相关阅读:
    java-数组
    编程练习
    java-循环语句
    java-条件语句if&switch
    JAVA-运算符
    JAVA-常量
    springAOP源码分析之篇一:配置文件的解析
    spring IOC容器的扩展
    spring IOC之篇六 bean的加载---bean的创建
    spring IOC之篇五 bean的加载--缓存中获取
  • 原文地址:https://www.cnblogs.com/yxlblogs/p/4224630.html
Copyright © 2011-2022 走看看