Подтвердить что ты не робот

Обязательный атрибут для целочисленного значения

У меня есть viewmodel с свойством Id

[Required]
public int Id { get; set; }

Но я думаю, что этот атрибут работает только для свойств строки.

Когда Id не задан, Id имеет значение 0, и модель действительна.

Как я могу гарантировать, что если значение для свойства int не установлено, модель будет недействительной?

4b9b3361

Ответ 1

Измените тип на Nullable<int> (ярлык int?), чтобы разрешить значения null.

Ответ 2

Используйте атрибут Range.

Задайте минимум 1 и максимум до int.MaxValue

[Range(1, int.MaxValue, ErrorMessage = "Value for {0} must be between {1} and {2}.")]