using System.Net; using Bunny.Dao.Common.Result; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Filters; namespace Bunny.Common.Attribute; /// /// 全局请求表单验证拦截器 /// public class ValidateModelStateAttribute : ActionFilterAttribute { public override void OnActionExecuting(ActionExecutingContext actionContext) { if (actionContext.ModelState.IsValid) return; // 表单验证失败 var errorMessage = string.Join(",", actionContext.ModelState.Values .SelectMany(value => value.Errors) .Select(value => value.ErrorMessage)); var result = Result.Error(HttpStatusCode.BadRequest, errorMessage); // 重新复写返回结果 actionContext.Result = new ObjectResult(result); } }