Webform - условия некорректно работают

Главные вкладки

Аватар пользователя andrtgn andrtgn 16 июня 2018 в 18:35

Создаю форму, где в ней есть числовое поле и текстовые, мне нужно, чтобы текстовое поле показывалось при значении числового поля от n. При этом сам drupal в modules/contrib/webform/js/webform.states.js на 50 строчке делает проверку Drupal.states.Dependent.comparisons... В итоге, если я ввожу '3' > '1232', то это true, модуль webform сравнивает строки, а не числа...От сюда и баг. Кто сталкивался? Как решить проблему не изменяя файл?
В коде -- return (value !== '' && reference.less > value);
Спасибо.

Комментарии

Аватар пользователя Semantics Semantics 16 июня 2018 в 19:13

Во-первых, тем, что редактируете файлы модуля вебформ - вы усложняете дальнейшую жизнь себе и другим, не надо так.
Во-вторых, модуль вебформ вообще ничего не сравнивает, приведение типов в JS это отдельная история

Аватар пользователя andrtgn andrtgn 16 июня 2018 в 19:11

Само собой, править в файлах модули и не собираюсь. А приведение типов - да. return (value !== '' && reference.less > value); тут eference.less и value - это string переменные. Вот и выходит, что if ('3' > '1232') это true.