Rails: проверка формы Ajax с помощью error_message_on

Я пытался получить некоторые проверки ajax в своей форме и столкнулся с небольшими проблемами.

У меня есть такой код в моей форме:

<% form_for @user, :html => { :id => 'user_form', :multipart => true } do |f| %>
    <%= f.label :username %><br />
    <%= f.text_field :username %> <%= error_message_on :user, :username %>
  </p>
  <p>
    <%= f.label :email %><br />
    <%= f.text_field :email %> <%= error_message_on :user, :email %>
  </p>
  #other form fields (password and confirmation)
  Type the words below to prove you aren't a robot: <%= recaptcha_tags %>
  <%= error_message_on :user, :base %>
  <p><%= f.submit "Submit" %></p>
<% end %>
<%= observe_form "user_form", :url => users_path %>

Это отлично отображает ошибки, если я не использую ajax, но я не уверен, как заставить часть «error_message_on» появляться и исчезать через ajax, если возможно, с помощью действия onblur.

Мой контроллер работает нормально, поэтому я не буду размещать код здесь.

Мне было интересно, может ли кто-нибудь заполнить пробелы здесь:

в валидате.js.rjs:

#enables and disables the submit button on the bottom
if @user.valid?
  page[:user_submit].enable
else
  page[:user_submit].disable
end
page.select('.formError').each(&:remove)
#Some code to add the form error
#Some code to highlight the error field

Просто чтобы дать вам визуальное представление о том, что я пытаюсь сделать, вот мой css:

.formError {
  color: #D00;
  font-size: 12px;
  font-weight: bold;
}

.fieldWithErrors input {
  border: 5px solid #f66;
}

person Kenji Crosland    schedule 21.01.2010    source источник


Ответы (1)


Мой первый совет для вас: отказаться от помощников формы rails и начать использовать formtastic (http://github.com/justinfrench/formtastic). Я гарантирую вам удовлетворение, или ваши деньги обратно.

После того, как вы выпили формастический кулайд, ваш следующий порт захода должен быть подтвержден (http://github.com/grimen/validatious-on-rails/). Он очень хорошо работает с formtastic (или любым конструктором форм, если уж на то пошло) и должен помочь вам не изобретать велосипед.

Надеюсь, это поможет!

person jonnii    schedule 22.01.2010