0

Я использую simple_form с twitter bootstrap на Rails.Сообщения об ошибках simple_form не исчезают

Все работает отлично, за исключением случаев, когда вы показываете живые подтверждения в форме-inline-классе. Мой код форме:

<%= simple_form_for @message, 
        url: mailing_list_path, 
        html: { class: "form-inline" }, 
        method: :post, 
        validate: true do |f| %> 

    <%= f.input_field :email_address, label: false %> 
    <%= f.submit "Submit" %> 
<% end %> 

Это показывает сообщение об ошибке правильно (например, «недействительна»), но если я нажимаю от входа, а затем снова включите, он добавляет еще одно сообщение (например, он сказал бы, msgstr "неверно неверно"). Например, два последовательных недействительных записей и затем пустой запись будет давать:

errors are not removed

Есть ли способ иметь simple_form удалить существующее сообщение об ошибке, прежде чем добавить новый?

+0

Любая причина, по которой вы используете 'f.input_field' вместо' f.input'? – depa

+0

@depa yes, f.input обертывает его в div, что заставляет его не отображать строку – tyler

ответ

0

EDIT:

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

$('input.email-address-input').on 'keyup',() -> 
    $(this).parent('form').siblings('.help-inline').hide() 
Смежные вопросы