Некорректная проверка и исправление значения числового поля при вводе

Ответить
Аватара пользователя
nikorn
Сообщения: 342
Зарегистрирован: 02 апр 2016, 22:26
Имя: Корняков Никита
Откуда: РФ, Ярославль
Организация: Тяжмаштрейд
Контактная информация:

Некорректная проверка и исправление значения числового поля при вводе

Сообщение nikorn »

Здравствуйте!
Давно уже заметил, что проверка и последующее исправление значения числового поля при вводе происходит не вполне корректно. Исходное обсуждение вопроса здесь: viewtopic.php?f=7&t=490&p=1785&hilit=%D ... 0%B5#p1785. С тех пор были внесены некоторые изменения в код, но пара неточностей осталась, поэтому решил все-таки написать сюда.

Неточности:

1) Если во введенном значении встречается "," то она должна заменяться на ".", а встречающиеся пробелы должны удаляться. В коде встречается соответствующая строка

Код: Выделить всё

return str_replace(array(',',' '),array('.',''),db_prepare_input($options['value']));
При этом замена запятой на точку срабатывает, но пробелы при этом не удаляются

2) Если значение числового поля было введено/изменено пользователем некорректно, то появляется сообщение об ошибке

Код: Выделить всё

define('TEXT_ERROR_REQUIRED_NUMBER','Пожалуйста, введите число');
Это правильно, если нажата кнопка "Сохранить". Но то же самое происходит, если нажать кнопку "Закрыть". В последнем случае проверка введенного значения производиться не должна
Аватара пользователя
support
Техническая поддержка
Сообщения: 9016
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Некорректная проверка и исправление значения числового поля при вводе

Сообщение support »

Для 2.8 добавил JS код, который на лету удаляет и пробелы.
Ответить