Параметр minimumValue в AutoNumeric задаёт нижнюю границу допустимого числового значения для поля ввода. Он определяет, какое минимальное число может быть введено, преобразовано или установлено через API библиотеки. Любое значение, выходящее ниже заданного порога, либо блокируется, либо приводится к допустимому минимуму в зависимости от режима работы экземпляра.
В основе механизма minimumValue лежит принцип валидации числового диапазона на уровне представления и хранения данных. AutoNumeric не просто форматирует число, но и управляет его допустимостью в рамках заданных правил.
Минимальное значение влияет на все основные сценарии:
При этом проверка выполняется не только на финальном этапе, но и в процессе набора значения, что позволяет предотвращать выход за пределы диапазона до его фактического появления в поле.
Параметр может задаваться в нескольких формах, в зависимости от конфигурации и требований к точности:
'0', '-100',
'0.00', '-9999.99'0, -100,
-9999.99"-Infinity" или "negInfinity" для отключения
нижней границыСтроковый формат часто используется в случаях, когда важно сохранить точность десятичных знаков и избежать проблем с представлением float в JavaScript.
Если значение, установленное в поле, становится меньше minimumValue, AutoNumeric применяет одну из стратегий:
Конкретное поведение зависит от комбинации настроек, включая правила обработки событий и режим валидации.
minimumValue всегда рассматривается в паре с maximumValue. Вместе они формируют замкнутый диапазон допустимых значений.
Диапазон можно представить как:
[minValue, maxValue]
Если minimumValue больше maximumValue, поведение становится неопределённым и зависит от внутренней нормализации конфигурации. В большинстве случаев библиотека либо игнорирует такую конфигурацию, либо корректирует её на этапе инициализации.
При активной работе с полем ввода minimumValue влияет на каждое изменение состояния:
Особенность заключается в том, что AutoNumeric работает не с сырым текстом, а с нормализованным числовым представлением, поэтому сравнение с minimumValue происходит уже после приведения строки к числу.
При использовании значений с фиксированной точностью minimumValue должен соответствовать формату отображения. Например, при настройке двух знаков после запятой:
-10.00'-10.00'-10 (в зависимости от
конфигурации decimalPlaces)AutoNumeric приводит значения к единому формату перед сравнением, однако несоответствие точности может приводить к неожиданным результатам при округлении.
При использовании API:
set(value)setNumericString(value)setUnformatted(value)значение проходит через тот же механизм проверки minimumValue, что и пользовательский ввод.
Если переданное значение меньше допустимого минимума, оно будет автоматически скорректировано. Это важно при работе с внешними источниками данных, где диапазон не контролируется заранее.
Во время создания экземпляра AutoNumeric:
new AutoNumeric(element, {
minimumValue: "-100"
});
происходит первичная нормализация:
Если начальное значение элемента уже ниже minimumValue, оно корректируется сразу при инициализации.
minimumValue особенно критичен при работе с отрицательными числами. В таких сценариях он определяет:
Например:
0 полностью запрещает отрицательные
значения-1000 позволяет ограниченный уход в
минус-Infinity снимает ограничениеХотя minimumValue является логическим ограничением, он также влияет на восприятие интерфейса:
При этом чрезмерно строгие ограничения могут создавать ощущение «жёсткого» интерфейса, особенно если пользователь не понимает причин автоматической коррекции значения.
Типичные области применения minimumValue:
В каждом из этих случаев minimumValue выступает как встроенный механизм бизнес-логики на уровне UI-библиотеки.
При изменении minimumValue во время работы приложения необходимо учитывать:
При обновлении конфигурации через update() или
аналогичные методы AutoNumeric пересчитывает текущее значение
относительно нового диапазона.
minimumValue косвенно влияет на события библиотеки:
onInvalidPaste — при вставке значения ниже
минимумаonValueChanged — при автоматической корректировкеonCorrectedValue — при приведении к допустимому
диапазонуЭти события позволяют отслеживать случаи, когда пользователь вводит значение за пределами допустимого диапазона, даже если интерфейс визуально не показывает ошибку.
При установке minimumValue в значение -Infinity или
эквивалент отключается нижняя граница. В этом режиме:
Такой режим используется в системах, где отрицательные значения являются естественной частью модели данных, например в бухгалтерских расчётах или статистике отклонений.