Sprawdzanie poprawności interfejsu internetowego na parametrze dopuszczającym wartość zerową kończy się niepowodzeniem
Próbuję sprawdzić poprawność bardzo prostej metody i otrzymuję Wartość „null” nie jest poprawna dla błędu Nullable`1.
[ValidateModel]
public IEnumerable<SomeData> Get(bool? showExtra = null)
{
return this.MockDataManager.ShowData(showExtra);
}
Właściwość ValidateModel to:
public override void OnActionExecuting(HttpActionContext actionContext)
{
if (actionContext != null && actionContext.ModelState.IsValid == false)
{
actionContext.Response = actionContext.Request.CreateErrorResponse(
HttpStatusCode.BadRequest, actionContext.ModelState);
}
}
Teraz, jeśli wywołam metodę z / true i / false, to działa. Również działa, jeśli wywołam metodę z / ale jeśli ją wywołam z / null sprawdzanie poprawności nie powiedzie się i komunikat o błędzie Wartość „null” nie jest prawidłowa dla Nullable`1. Jak to rozwiązać?