1
0

ValidateInputAttribute.cs 962 B

12345678910111213141516171819202122232425262728293031
  1. using System;
  2. using System.Linq;
  3. using Admin.Core.Model.Output;
  4. using Microsoft.AspNetCore.Http;
  5. using Microsoft.AspNetCore.Mvc;
  6. using Microsoft.AspNetCore.Mvc.Filters;
  7. namespace Admin.Core.Attributes
  8. {
  9. /// <summary>
  10. /// 输入模型验证
  11. /// </summary>
  12. [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true)]
  13. public class ValidateInputAttribute : ActionFilterAttribute
  14. {
  15. public override void OnResultExecuting(ResultExecutingContext context)
  16. {
  17. if (!context.ModelState.IsValid)
  18. {
  19. try
  20. {
  21. context.Result = new JsonResult(ResponseOutput.NotOk(context.ModelState.Values.First().Errors[0].ErrorMessage));
  22. }
  23. catch
  24. {
  25. context.Result = new StatusCodeResult(StatusCodes.Status500InternalServerError);
  26. }
  27. }
  28. }
  29. }
  30. }