У меня есть базовый API ASP.Net с методом POST, получающий список следующей модели:
public class Phone
{
public PhoneType Type { get; set; }
[RegularExpression("(\\+)(?:\\d\\s?){1,14}"]
public string Number { get; set; }
}
public enum PhoneType
{
HOME,
WORK,
MOBILE
}
Также у меня есть следующий фильтр ресурсов:
public class InvalidRequestFilter : Attribute, IResourceFilter
{
public void OnResourceExecuting(ResourceExecutingContext context)
{
}
public void OnResourceExecuted(ResourceExecutedContext context)
{
if (!context.ModelState.IsValid)
{
foreach (var modelError in context.ModelState)
{
string propertyName = modelError.Key;
string propertyValue = modelError.Value.AttemptedValue;
}
}
}
}
КогдаЯ отправляю следующий запрос JSON конечной точке:
[{
"type": 0,
"number": "0090533006403"
}]
Значение ModelState.IsValid становится ложным.но modelError.Value.AttemptedValue
всегда равно нулю, несмотря на то, что я указал значение в запросе.