i'hv napisał mój własny filtr działania i zarejestrowany w pliku global.asax, teraz mój problem polega na tym, jak pomijam ten filtr dla konkretnych działań, pomyślałem o tym przez tworzenie niestandardowego atrybutu dla np. DontValidate
i umieszczenie go nad akcją, dla której chcę pominąć sprawdzanie poprawności, iw moim kodzie filtru akcji umieszczę warunek, że jeśli akcja zawiera atrybut DontValidate
, pomiń sprawdzanie poprawności. Tak więc obecnie nie otrzymuję, jak wdrożyć go:Pomiń filtr na konkretnej akcji, gdy filtr akcji jest zarejestrowany globalnie
poniżej kod jest mój filtr działanie walidacji
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);
}
}
}
dziękuję bardzo Darin .. – Meson
Witam wszystkich. Czy możesz wyjaśnić, w jaki sposób powinienem zarejestrować ten filtr w mojej aplikacji? – mrabaev48