To enable CORS in case of BadRequestObjectResult I found the following solution.
Create a custom attribute:
public class AddAccessControlAllowOriginAttribute : ActionFilterAttribute
{
public override void OnResultExecuting(ResultExecutingContext context)
{
if (!(context.Result is JsonResult jsonResult))
{
var header = "Access-Control-Allow-Origin";
var value = "http://localhost:5173"; // my front end origin
if (context.HttpContext.Response.Headers.ContainsKey(header))
context.HttpContext.Response.Headers[header] = value;
else
context.HttpContext.Response.Headers.Add(header, value);
}
base.OnResultExecuting(context);
}
}
Apply to all controllers as follows:
[HttpPost]
[AddAccessControlAllowOriginAttribute]
public JsonResult CreateEdit(Company item)
{
// ...
}