I have a column inside my sql server 2008 wih type of Decimal(18,2)
. But on entity framework what is the best data annotation validation I can apply to this property, inside my asp.net MVC web application ?
The Decimal data type provides the greatest number of significant digits for a number. It supports up to 29 significant digits and can represent values in excess of 7.9228 x 10^28. It is particularly suitable for calculations, such as financial, that require a large number of digits but cannot tolerate rounding errors.
For instance, decimal (4,2) indicates that the number will have 2 digits before the decimal point and 2 digits after the decimal point, something like this has to be the number value- ##. ##.
There is no explicit data annotation for a decimal so you need to use two separate ones to add constraints.
[RegularExpression(@"^\d+(\.\d{1,2})?$")]
This regular expression will make sure that the property has at most two decimal places.
[Range(0, 9999999999999999.99)]
Assuming you aren't accepting any negative numbers. Otherwise, replace 0
with -9999999999999999.99
.
[RegularExpression(@"^\d+(\.\d{1,2})?$")] [Range(0, 9999999999999999.99)] public decimal Property { get; set; }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With