我有一个过滤器,可以在ASP.NET Core WebAPI上正常运行,以便在POST和PUT操作上进行模型验证。
问题: 我想在Web MVC项目中使用它。有人可以告诉我应该从过滤器返回什么以使其工作。还需要返回ViewModel吗?
返回context.ModelState无效。
由于
过滤代码
public class ValidateModelAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext context)
{
//actionContext.Response = actionContext.Request.CreateErrorResponse(HttpStatusCode.BadRequest, actionContext.ModelState);
if ((context.HttpContext.Request.Method == ("POST") | context.HttpContext.Request.Method == ("PUT")) && !context.ModelState.IsValid)
context.Result = new BadRequestObjectResult(context.ModelState);
}
}
答案 0 :(得分:3)
替换|与||在if语句中
if ((context.HttpContext.Request.Method == ("POST") || context.HttpContext.Request.Method == ("PUT")) && !context.ModelState.IsValid)