27 lines
830 B
C#
27 lines
830 B
C#
using System.Net;
|
|
using Bunny.Dao.Common.Result;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Microsoft.AspNetCore.Mvc.Filters;
|
|
|
|
namespace Bunny.Common.Attribute;
|
|
|
|
/// <summary>
|
|
/// 全局请求表单验证拦截器
|
|
/// </summary>
|
|
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<string>.Error(HttpStatusCode.BadRequest, errorMessage);
|
|
|
|
// 重新复写返回结果
|
|
actionContext.Result = new ObjectResult(result);
|
|
}
|
|
} |