/// <summary>
/// 传入参数校验过滤器
/// </summary>
public class ValidateReqModelFilter : ActionFilterAttribute
{
public override void OnActionExecuting(HttpActionContext actionContext)
{
if (!actionContext.ModelState.IsValid)
{
actionContext.Response = actionContext.Request.CreateErrorResponse(HttpStatusCode.BadRequest, actionContext.ModelState);
          ////如果要自定义返回
   //actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.BadRequest, new ResponseMessage() { Msg = false, Message = error });
       }
}
}
  [ValidateReqModelFilter]
public class TestController : ControllerEduBase
{
/// <summary>
/// 测试
/// </summary>
[HttpPost]
[Route("api/Test/saveSchool")]
public JsonResult<ResponseMessage> Test(ReqTest req){
          var result = new object();
          return Json(result);
}
}
public class ReqSaveSchool
{
/// <summary>
/// token
/// </summary>
[Required(AllowEmptyStrings = false, ErrorMessage = "Token is validate")]
public string Token { get; set; } /// <summary>
/// id
/// </summary>
[RegularExpression(@"^[0-9]\d*$",ErrorMessage = "Id is validate")]
public int Id { get; set; } /// <summary>
/// 名称
/// </summary>
[Required]
[StringLength(,ErrorMessage = "Name is exceeding the length limit")]
public string Name { get; set; }
}

测试结果:如果输入参数校验失败,不会进入controller,直接返回错误信息。

最新文章

  1. HTTPS和HTTP的区别(转)
  2. iis设置asp站点
  3. 定位表的数据块并且dump出来
  4. 1613. For Fans of Statistics(STL)
  5. 深入理解计算机系统第二版习题解答CSAPP 2.19
  6. [jQuery1.9]Cannot read property ‘msie’ of undefined错误的解决方法
  7. 此 ObjectContext 实例已释放,不可再用于需要连接的操作
  8. Python快速入门(2)
  9. APNS IOS 消息推送JSON格式介绍
  10. 配置使用dwr完成收邮件提示
  11. 百度地图点击地图显示地址详情的默认方法怎么关闭,去掉百度地图api图标信息
  12. 201772020113 李清华《面向对象程序设计(java)》第17周学习总结
  13. 【leetcode】 Validate Binary Search Tree
  14. VNC的安装和常用命令
  15. dp练习(10)——拦截导弹
  16. 安装Windows Installer服务
  17. Nginx设置静态页面压缩和缓存过期时间的方法
  18. 新型穿墙监控雷达Range-R:让你的隐私无所遁形(转)
  19. Java Web系列:JDBC 基础
  20. EasyUi–7.tab和datagrid和iframe的问题

热门文章

  1. eshop1-大型电商架构演进
  2. python数据分析基础
  3. C# MQTT M2MQTT
  4. JuJu团队12月1号工作汇报
  5. S7-200 smart 网线下载与调试配置
  6. 官网英文版学习——RabbitMQ学习笔记(六)Routing
  7. FULLTEXT INDEX全文索引
  8. python 鞍点
  9. 杂记 -- 关于ref、kepp-alive、nextTick、fetch
  10. [Machine Learning][BP]The Vectorized Back Propagation Algorithm