Проверка на стороне клиента Rails 4
Начиная с обновления моего сайта до Rails 4, камень для проверки на стороне клиента перестает работать для меня. Я посмотрел на различные альтернативы, такие как jquery-validation-rails и судья, которые включают в себя запись совсем немного javascript, особенно для сайта такого большого размера. А в случае с jquery-validation-rails повторное выполнение всех правил проверки на стороне клиента. Учитывая, что Rails является такой популярной структурой, меня удивляет, что нет "простого" варианта. Есть ли какие-либо драгоценные камни, о которых знает кто-то еще, что делает валидацию, а также драгоценный камень для проверки на стороне клиента?
Или лучше всего использовать метод ModelName.validators, смешанный с некоторым ajax, и выполнить проверку с помощью jquery-validation-rails gem?
Ответы
Ответ 1
Из Google.
http://rubygems.org/gems/rails4_client_side_validations
https://github.com/amatsuda/html5_validators
И этот парень, похоже, получил тот же драгоценный камень, который вы используете для работы, используя ветку 4-0-бета.
Проверка и проверка на стороне клиента4
Если ветка 4-0-бета работает для вас, подумайте о том, чтобы помочь сохранить драгоценный камень, чтобы сохранить его.
Чтобы использовать определенную версию git repo в вашем Gemfile:
gem 'client-side-validations', :git => 'https://github.com/bcardarella/client_side_validations/tree/4-0-beta'
Ответ 2
В то время как проверки на стороне клиента будут работать для простых случаев, они потребуют огромного количества обходных решений для работы с более сложными сценариями (например, условные проверки).
Вместо этого я рекомендую использовать Judge, что даст вам больше контроля.
Ответ 3
Я смог использовать вилку оригинальных client_side_vlaidations, которая очень активна на данный момент. Я использую последнюю версию simple_form, rails 4.1.8 и client_side_validations. Простая настройка с базовой конфигурацией.
Ответ 4
Я знаю, что вопрос старый, но как насчет добрых старых требуют: "требовать"?
Например:
<%= f.text_area :body, placeholder: "Write your review here...", class: "form-control", rows: "5", required: "required" %>