Я создаю поле ввода, которое принимает любое число десятичных знаков. Я хочу проверить этот ввод как число, равное 5 или более, и меньше 100. Используя атрибуты min
и max
, я смог создать следующий фрагмент HTML. Кажется, он функционирует правильно в каждом браузере, но выглядит ужасно.Установка максимального значения меньше числа в поле ввода, основанного на десятичной основе
<input type="number" step="any" min="5" max="99.9999999999999999" required>
Есть достойный способ сделать это (без округления проделки)?
Я знаю, что это легко решить с помощью JavaScript, но мне интересно, есть ли достойный способ сделать это с помощью всего лишь HTML. Я пытаюсь проверить вход пользователей, имеющих проверку формы HTML5, но не JavaScript. Проверка этого входного сервера заставляет пользователя загружать страницу еще раз, чего я пытаюсь избежать.
Максимальный атрибут определяет верхнее значение и определенное значение включено , Чтобы изменить это поведение, вы должны добавить некоторую дополнительную проверку с помощью javascript: либо проверить, является ли число 100, либо напрямую заменяет атрибут min max чем-то вроде [this] (http://stackoverflow.com/questions/15994576/maximum -allowed-значение-для-ввода-типа-текста). –
@LelioFaieta Мне известно о проверке JavaScript и я уже использую его для проверки ввода снова перед отправкой формы (в случае, если браузер не поддерживает некоторые атрибуты) и еще раз на стороне сервера. Мне просто интересно, есть ли достойный способ сделать это с помощью атрибутов 'min',' max', поскольку 99.999 ... возвращает сообщение о том, что число должно быть ниже 100, а не 99.999 .... Это может быть просто округление в сообщении. –
Как я уже говорил вам: максимальное значение указано всегда в диапазоне по спецификации HTML. Таким образом, вы ничего не можете сделать с помощью простого html –