Browse Source
* Fix indentation * Fix comment * Extract ModelStateValidationFilter add to Indentity MVC opts * Remove unnecessary base constructor callpull/1841/head
5 changed files with 47 additions and 19 deletions
@ -0,0 +1,33 @@
@@ -0,0 +1,33 @@
|
||||
using System.Linq; |
||||
using Bit.Core.Models.Api; |
||||
using Microsoft.AspNetCore.Mvc; |
||||
using Microsoft.AspNetCore.Mvc.Filters; |
||||
|
||||
namespace Bit.SharedWeb.Utilities |
||||
{ |
||||
public class ModelStateValidationFilterAttribute : ActionFilterAttribute |
||||
{ |
||||
public ModelStateValidationFilterAttribute() |
||||
{ |
||||
} |
||||
|
||||
public override void OnActionExecuting(ActionExecutingContext context) |
||||
{ |
||||
var model = context.ActionArguments.FirstOrDefault(a => a.Key == "model"); |
||||
if (model.Key == "model" && model.Value == null) |
||||
{ |
||||
context.ModelState.AddModelError(string.Empty, "Body is empty."); |
||||
} |
||||
|
||||
if (!context.ModelState.IsValid) |
||||
{ |
||||
OnModelStateInvalid(context); |
||||
} |
||||
} |
||||
|
||||
protected virtual void OnModelStateInvalid(ActionExecutingContext context) |
||||
{ |
||||
context.Result = new BadRequestObjectResult(new ErrorResponseModel(context.ModelState)); |
||||
} |
||||
} |
||||
} |
||||
Loading…
Reference in new issue