Ответ 1
Измените тип на Nullable<int>
(ярлык int?
), чтобы разрешить значения null
.
У меня есть viewmodel с свойством Id
[Required]
public int Id { get; set; }
Но я думаю, что этот атрибут работает только для свойств строки.
Когда Id не задан, Id имеет значение 0, и модель действительна.
Как я могу гарантировать, что если значение для свойства int не установлено, модель будет недействительной?
Измените тип на Nullable<int>
(ярлык int?
), чтобы разрешить значения null
.
Используйте атрибут Range
.
Задайте минимум 1 и максимум до int.MaxValue
[Range(1, int.MaxValue, ErrorMessage = "Value for {0} must be between {1} and {2}.")]