这里我使用错误消息进行注册并使用具有单一模型user.rb的设计登录表单。如何更改不同表单的字段电子邮件和密码的错误消息? 在user.rb中我使用:
validates_presence_of :full_name
validates_presence_of :email, :message => "enter email"
validates_confirmation_of :password
validates_presence_of :password, :message=> "enter password"
以注册形式:
= form_for(resource, :validate => true, :as => resource_name, :url => registration_path(resource_name)) do |f|
%ul
%li
= f.label :full_name
= f.text_field :full_name
%li
= f.label :email
= f.email_field :email
%li
= f.label :password
= f.password_field :password
%li
= f.label :password_confirmation
= f.password_field :password_confirmation
%li
= f.label :zip
= f.text_field :zip
= f.submit "Sign up", :class=> "btn btn-primary"
以登录形式:
= form_for(resource, :validate => true, :as => resource_name, :url => session_path(resource_name)) do |f|
%ul
%li
= f.label :email
= f.email_field :email
%li
= f.label :password
= f.password_field :password
- if devise_mapping.rememberable?
%li
= f.check_box :remember_me
= f.label :remember_me
%div
= f.submit "Log in", :class=> "btn btn-primary mt10 ml60"
如何更改登录表单的上述消息?
答案 0 :(得分:0)
默认情况下,登录表单会显示“无效的电子邮件或密码”。
这是故意的,因为对于登录操作,这种模糊的消息比特定的更好,例如“密码太短”,“电子邮件不存在”等。
我认为没有必要将其改为特定的形式,如其他正常形式。
答案 1 :(得分:0)
在此处考虑问题的最佳答案:Fully custom validation error message with Rails
这是一种非常灵活且可扩展的方法,用于修改各种模型属性及其相关验证错误的错误消息和字段名称