我如何返回 Json Result + Web api + 验证模型 + actionfilters +OnActionExecuting 方法

2023-12-21

string message = string.Empty;

public override void OnActionExecuting(HttpActionContext actionContext)
{
    var modelState = actionContext.ModelState;

    if (!modelState.IsValid)
        actionContext.Response = actionContext.Request.CreateErrorResponse(HttpStatusCode.BadRequest, modelState);

    foreach (var key in modelState.Keys)
    {
        var state = modelState[key];

        if (state.Errors.Any())
        {
            message = message + state.Errors.First().ErrorMessage;
        }
    }
}

这里我想用 Jsonresult 返回消息变量,请帮助我。


Try this

    public override void OnActionExecuting(HttpActionContext context)
    {
        var modelState = context.ModelState;
        if (!modelState.IsValid)
        {
            var errors = new JObject();
            foreach (var key in modelState.Keys)
            {
                var state = modelState[key];
                if (state.Errors.Any())
                {
                    errors[key] = state.Errors.First().ErrorMessage;
                }
            }

            context.Response = context.Request.CreateResponse<JObject>(HttpStatusCode.BadRequest, errors);
        }
    }

从客户端 ajax 请求中,出现错误时,获取responseText 来处理验证错误消息。

您可能想根据您想要执行的操作选择 HttpStatusCode,因为

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我如何返回 Json Result + Web api + 验证模型 + actionfilters +OnActionExecuting 方法 的相关文章

随机推荐