Добрый день. Приложение на RoR. Есть два поля, допустим если человек ввел в первое поле 500, то нужно сделать так, чтобы он во второе не смог ввести больше 500. Как это реализовать и на чем лучше, в RoR или Jquery? Может можно как то через validation в ror?
OnYourLips: В идеальном мире, в принципе, так оно есть
В реальном - есть внутрикорпоративные проекты (да и любые другие автоматизации предназначенные "для своих"), где важна не теоретическая секьюрность, а удобство пользования. Например, что б с мобильника нельзя было отправить неверные результат, который приведет к перезагрузке страницы без сохранения.
OnYourLips: я не предлагал валидировать только на фронтенде, бэкенд по-умолчанию валидировать должен :) Но чтобы в браузере мгновенно показать ошибку, нужен код на JS либо аякс-запрос к серверу (что тоже на жс)
Ок. Но 500 я привел как пример. Он может ввести ведь любое число, но второе число, которое он введет после первого, должно быть меньше или ровно первому. Как в таком случае быть?
Вы в POST запросе получите все данные с формы, ничего не мешает проверить .size обоих полей.
Проверять можно и на фронтэнде - как перевоначальную проверку.
На бэкенде полюбому то-же проверять - на случай отключенных яваскриптов и т.д.
Делаете валидацию второго поля на основе введенных данных с помощью js.
Потом на сервере делаете еще раз валидацию всех полей, в частности проверяете чтобы длина второго поля была не больше чем первого, если валидацию не проходит, то возвращаете форму с сообщением о некорректности данных и просите вновь ее заполнить.
Не правильно понял ваш вопрос, думал речь про длину текста в поле, но это не меняет сути - тогда сравнивает числовые значения на больше/меньше.
Или вас интересует сам механизм валидации на клиенте?