Я работаю над приложением, которое имеет bootstrap modal (для входа/регистрации), где выполняется проверка на стороне клиента. Когда вы пытаетесь войти в систему с регулярным, но не существующим электронным письмом в db, выполняется проверка сервера на стороне сервера, и вы перенаправляетесь на страницу пользователей/подписей.Как включить проверку на стороне клиента в Bootstrap modal
Итак, вместо этого перенаправления мне нужно сделать проверки на стороне клиента и показать сообщение об ошибке в модальном режиме. Проблема в том, что я работаю над реальным, большим приложением в первый раз, и я не могу найти место, где выполняются эти проверки и перенаправления. Я не могу найти соответствующий файл JS или действия контроллера ..
модельПользователь:
validates :password, presence: true, :on => :create
validates :password, confirmation: true, :on => :create
validates :email, presence: true
validates :username, uniqueness: true, presence: true
validates_format_of :username, :with => /^[a-z\d]*$/, :message => "Just letters and numbers please"
Modal для регистрации:
#modal-registration.modal.hide.fade{"aria-hidden" => "true", "aria-labelledby" => "registrationLabel", role: "dialog", tabindex: "-1"}
.modal-header
%button.close{"aria-hidden" => "true", "data-dismiss" => "modal", type: "button"} ×
%h3#myModalLabel Registration
.modal-body
.row-fluid
.span6
= simple_form_for(resource, :as => resource_name, :url => registration_path(resource_name), html: { class: "form", id: "registration-form" }, :validate => true) do |f|
.control-group
.controls
= f.input :email, autofocus: true, label: false, placeholder: 'email'
.control-group
.controls
= f.input :username, autofocus: true, label: false, placeholder: 'Username'
.control-group
.controls
= f.input :password, label: false, placeholder: 'Password'
.control-group
.controls
= f.input :password_confirmation, label: false, placeholder: 'Password confirmation'
.control-group
.controls
= f.button :submit, "Registration"
.span6
= link_to "Registration via Facebook", "#", class: "btn btn-large btn-block"
= link_to "Registration via LinkedIn", "#", class: "btn btn-large btn-block"
.modal-footer
%button.btn{"aria-hidden" => "true", "data-dismiss" => "modal"} Close
Client_side_validation JQuery:
jQuery ->
$("#modal-registration, #modal-sign-in").on "shown", ->
$(ClientSideValidations.selectors.forms).validate()
использовано gems: devise, client_side_validations, client_side_validations_simple_form, bootstrap, haml.
попробовать HTTP: //jqueryvalidation.org/.... буду любить его – Milind