I have this in my view model:
[Required(ErrorMessage = \"Price is required\")]
[Range(0.01, 999999999, ErrorMessage = \"Price must be greater than 0.00\")]
[
You can also create your own Decimal validation attribute, inheriting from RegularExpressionAttribute:
public class DecimalAttribute : RegularExpressionAttribute
{
public int DecimalPlaces { get; set; }
public DecimalAttribute(int decimalPlaces)
: base(string.Format(@"^\d*\.?\d{{0,{0}}}$", decimalPlaces))
{
DecimalPlaces = decimalPlaces;
}
public override string FormatErrorMessage(string name)
{
return string.Format("This number can have maximum {0} decimal places", DecimalPlaces);
}
}
and register it to enable client-side validation in Application_Start():
DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(DecimalAttribute), typeof(RegularExpressionAttributeAdapter));