Required attribute for an integer value
I have a viewmodel with an Id property
[Required]
public int Id { get; set; }
But I think this attribute is working only for string properties.
When no Id is set, Id has value 0 and the model is valid.
How can I enforce that if no value for a int property is set, the model will be invalid ?
Use the Range
Attribute.
Set minimum to 1 and maximum to int.MaxValue
[Range(1, int.MaxValue, ErrorMessage = "Value for {0} must be between {1} and {2}.")]
Change the type to Nullable<int>
(shortcut int?
) to allow null
values.