问题
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 ?
回答1:
Change the type to Nullable<int> (shortcut int?
) to allow null
values.
回答2:
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}.")]
来源:https://stackoverflow.com/questions/6662976/required-attribute-for-an-integer-value