What is the best way of adding a greater than 0 validator on the client-side using MVC and data annotation?

jaffa picture jaffa · Sep 14, 2011 · Viewed 83.1k times · Source

I'd like to be able to only allow a form to submit if the value in a certain field is greater than 0. I thought maybe the Mvc Range attribute would allow me to enter only 1 value to signify only a greater than test, but no luck there as it insists on Minimum AND Maximum values.

Any ideas how this can be achieved?

Answer

Darin Dimitrov picture Darin Dimitrov · Sep 14, 2011

You can't store a number bigger than what your underlying data type could hold so that fact that the Range attribute requires a max value is a very good thing. Remember that doesn't exist in the real world, so the following should work:

[Range(1, int.MaxValue, ErrorMessage = "Please enter a value bigger than {1}")]
public int Value { get; set; }