Обязательный атрибут для целочисленного значения - PullRequest
57 голосов
/ 12 июля 2011

У меня есть модель просмотра со свойством Id

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

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

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

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

Ответы [ 2 ]

75 голосов
/ 12 июля 2011

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

Установите минимум на 1 и максимум на int.MaxValue

[Range(1, int.MaxValue, ErrorMessage = "Value for {0} must be between {1} and {2}.")]
45 голосов
/ 12 июля 2011

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

...