Добрый день!
У меня есть модель, которая связана с запросом JSON, скажем так:
public class MyModel
{
public bool isSomeFeatureEnabled { get; set; }
}
И контроллер вот так:
public ActionResult Submit(MyModel request)
{
if (ModelState.IsValid)
{
..
}
else
{
..
}
}
Когда я опубликую пустой объект JSON для этого действия ({}
), оно будет действительным с isSomeFeatureEnabled=false
.Но я хочу, чтобы это поле было «обязательным» с точки зрения того, что оно должно быть всегда установлено в определенном значении (true \ false).
Я могу сделать это поле обнуляемым и поставить [Required]
, но поле не являетсядействительно обнуляемый для каждой модели логики.
Та же история с полями int
, double
и DateTime
.
Я использую ASP.NET MVC 3 и по умолчанию:
DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes = true
Разве это не должно работать в этой ситуации?