I have a problem similar to this question
I'm using MVC. I have added a regular expression in my ViewModel to force the users to enter a number with 1 or 2 decimal places. I am thinking there must be an error in my Regex but the same statement is working fine elsewhere.
If I put in 0.00 as my rate, when I submit my form, ModelState.IsValid returns as false.
[RegularExpression(@"^(\d+\.\d{1,2})$", ErrorMessage = "Please enter valid rate with 1 or 2 decimal places")]
public double DecimalRate { get; set; }
- If I type any invalid input, it behaves as expected, displaying the proper error message and not letting me save the page
- If I put valid input (other than 0.00), it saves properly.
- If I remove the Regex completely, 0.00 is seen as valid input and it saves properly.
As per a suggestion in this question, I have verified that this rate is causing the error by setting a debug at ModelState.IsValid in Visual Studio and checking the errors.
I have a hunch it might have something to do with the attribute being of type double?