Каков наилучший способ добавления валидатора больше 0 на стороне клиента с помощью MVC и аннотации данных?
Я хотел бы иметь возможность разрешить отправку формы только в том случае, если значение в определенном поле больше 0. Я думал, что, возможно, атрибут диапазона Mvc позволит мне ввести только 1 значение, чтобы обозначить только больше, чем тест, но не повезло, поскольку он настаивает на минимальных и максимальных значениях.
есть идеи, как этого можно достичь?
3 ответа:
вы не можете хранить число больше, чем может содержать ваш базовый тип данных, поэтому тот факт, что атрибут диапазона требует максимального значения, очень хорош. Помните, что
∞
не существует в реальном мире, поэтому должно работать следующее:[Range(1, int.MaxValue, ErrorMessage = "Please enter a value bigger than {1}")] public int Value { get; set; }
в настоящее время, вы можете (ну)сделать Расширения Аннотаций Данных, который обеспечивает мин и Макс, функционируя так же, как вы ожидали бы их.
Я нашел этот ответ, чтобы проверить любое положительное значение для float / double. Оказывается, эти типы имеют полезную константу для "Эпсилона"
представляет наименьшую положительную систему.Двойное значение, которое больше нуля.
[Required] [Range(double.Epsilon, double.MaxValue)] public double Length { get; set; }