What is the best way of adding a greater than 0 va

2019-02-07 15:35发布

问题:

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?

回答1:

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; }


回答2:

I found this answer looking to validate any positive value for a float/double. It turns out these types have a useful constant for 'Epsilon'

Represents the smallest positive System.Double value that is greater than zero.

    [Required]
    [Range(double.Epsilon, double.MaxValue)]
    public double Length { get; set; }