Я использую привязку модели NancyFx через URL-адрес маршрутизации и пытаюсь настроить проверку необходимых свойств. Класс выглядит следующим образом:
public class Query
{
[Required]
public string ClientId { get; set; }
public List<string> Customers { get; set; }
}
Мой маршрут следующий:
Get["/test?customers=c1,c2"] = args =>
{
var query = new Query(); // A
try
{
query = this.Bind<Query>(); // B
}
catch (ModelBindingException ex)
{
throw ex;
}
return db.Execute(Query);
};
}
В A я ожидал, что будет какое-то исключение, поскольку требуется ClientId, но он равен нулю, когда инициализируется новый запрос, но ничего нет.
В противном случае я ожидал, что в B произойдет какая-то ошибка, когда я попытаюсь связать объект Query. Глядя на отладчик, свойство Customers объекта запроса правильно имеет ожидаемое значение "c1,c2". Однако ClientId в объекте запроса имеет значение null, и ошибки нет. Мне интересно, что я могу сделать, чтобы вызвать исключение на основании того факта, что требуется ClientId.