Пропустить фильтр для конкретного действия, когда фильтр действий зарегистрирован глобально
Я написал свой собственный фильтр действий и зарегистрировался в файле global.asax, теперь моя проблема в том, как мне пропустить этот фильтр для конкретных действий, я подумал об этом, создав собственный атрибут, например, дляDontValidate
и поместите его поверх действия, для которого я хочу пропустить проверку, и в моем коде фильтра действия я поставлю условие, что если действие содержитDontValidate
атрибут затем пропустить проверку. Так что в настоящее время я не понимаю, как это реализовать:
код ниже мой фильтр действий проверки
public class ValidationActionFilter : ActionFilterAttribute
{
public override void OnActionExecuting(HttpActionContext context)
{
if (context.Request.Method.ToString() == "OPTIONS") return;
//bool dontValidate = context.ActionDescriptor. // here im stuck how to do
var modelState = context.ModelState;
if (!modelState.IsValid)
{
JsonValue errors = new JsonObject();
foreach (var key in modelState.Keys)
{
// some stuff
}
context.Response = context.Request.CreateResponse<JsonValue>(HttpStatusCode.BadRequest, errors);
}
}
}