Pomiń filtrowanie określonej akcji, gdy filtr akcji jest zarejestrowany globalnie
napisałem własny filtr akcji i zarejestrowałem się w pliku global.asax, teraz moim problemem jest to, jak pominąć ten filtr dla określonych działań, pomyślałem o tym, tworząc atrybut niestandardowy, np.DontValidate
i umieść go nad akcją, dla której chcę pominąć sprawdzanie poprawności, aw moim kodzie filtru akcji podam warunek, że jeśli akcja zawieraDontValidate
atrybut, a następnie pomiń walidację. Więc obecnie nie rozumiem, jak go wdrożyć:
poniższy kod jest moim filtrem akcji walidacyjnej
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);
}
}
}