2010-09-28 6 views
0

Я сделал чек проверки в моей форме для проверки электронной почты, имя пользователя и FirstName ... вот кодForm Validation Рубин на рельсы

class User < ActiveRecord::Base 
    validates_presence_of :email, :firstname, :username 


    validates_format_of :email, 
        :with => /[-!#$&'*+\/=?`{|}~.\w][email protected][a-zA-Z0-9]([-a-zA-Z0-9]*[a-zA-Z0-9])*(\.[a-zA-Z0-9]([-a-zA-Z0-9]*[a-zA-Z0-9])*)+$/, 
        :message => ' appears to be invalid' 
end 

И на мой взгляд, часть выглядит как этот

<%= form_for(@user) do |f| %> 
    <% if @user.errors.any? %> 
    <div id="error_explanation"> 
     <ul> 
     <% @user.errors.full_messages.each do |msg| %> 
     <li> 
      <%= msg %> 
    </li> 
     <% end %> 
     </ul> 
    </div> 

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

+6

По крайней мере, вы должны дать людям кредит за то, чтобы ответить на ваши вопросов. И если ответы недостаточно хороши, дайте объяснение, почему нет. Я видел, по крайней мере, два вопроса, в которых ни один из ответов не получил какой-либо поддержки, в то время как ваши вопросы, когда они были такими общими, по крайней мере, были в хорошем направлении. – nathanvda

ответ

5

Поместите это рядом с чек-бокс текстового поля/или другие элементы формы:

<%= @user.errors.on(:attribute_name) %> 
+1

спасибо чувак .... также у меня есть еще одно сомнение ...... если я предпочитаю подавать свою форму без ввода каких-либо значений в поле электронной почты, я получаю 2 ошибки за один раз * Электронная почта не может быть пустой * Электронная почта недействительна. Как я могу отобразить только 1 комментарий –

0

модель валидация действительно так. если вы хотите встроенную проверку формы, вы можете проверить проверку формы JavaScript. Мой любимый JQuery кетчуп плагин:

http://demos.usejquery.com/ketchup-plugin/

Смежные вопросы