Files
HTCloud/HT.Cloud.Code/Filter/ModelActionFilter.cs

31 lines
771 B
C#
Raw Normal View History

2023-03-03 16:07:50 +08:00
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Filters;
namespace HT.Cloud.Code
{
/// <summary>
/// 模型验证过滤器
/// </summary>
public class ModelActionFilter : ActionFilterAttribute, IActionFilter
{
public override void OnActionExecuting(ActionExecutingContext context)
{
string message = "";
if (!context.ModelState.IsValid)
{
foreach (var item in context.ModelState.Values)
{
foreach (var error in item.Errors)
{
message = message += error.ErrorMessage + "|";
}
}
if (message.Length > 0)
{
message = message.Substring(0, message.Length - 1);
}
context.Result = new JsonResult(new AlwaysResult { state = ResultType.error.ToString(), message = message });
}
}
}
}