在 Devise 中自定义空白错误
Customize blank errors in Devise
现在我得到这样的错误:
Email can't be blank
我只能改这部分
can't be blank
errors:
messages:
blank: cannot be empty
但是之后显示为:
Email cannot be empty
我也可以更改字段名称吗?让它像
E-mail_something_else cannot be empty?
我该怎么做?
我在表单中的字段:
<div class="field">
<%= t('registration.email') %><br />
<%= f.email_field :email, autofocus: true, :class => "form-field" %>
</div>
你可以简单地搜索你需要的标签,比如你搜索:already_confirmed
(即语言环境文件中的标签),你会发现在文件中:
lib/devise/models/confirmable.rb
有这一行:
self.errors.add(:email, :already_confirmed)
如果您将 email
更改为您想要的任意键。
编辑:
我正在他们的 github 仓库中搜索,所以我不是用户,这是对的,但也许您需要的消息在文件中:
lib/devise/models/authenticatable.rb
第 269 行
record.errors.add(key, value.present? ? error : :blank)
如果您想更改 Devise 的验证消息,我会建议您。
en.yml 应该是这样的
en:
activerecord:
errors:
models:
user:
attributes:
email:
blank: "Please Specify an Email id"
taken: "Please use a different Email id"
invalid: "Please Specify a valid Email id"
password:
blank: "Please Specify a Password"
confirmation: "Password does not match"
password_confirmation:
blank: "Please Specify a Password Confirmation"
first_name:
blank: "Please Specify First Name"
last_name:
blank: "Please Specify Last Name"
pdf:
attributes:
name:
blank: "Please Specify name to PDF"
taken: "Please use different name for PDF"
attachment:
blank: "Please Upload a PDF Attachment"
data_element:
attributes:
name:
blank: "Please give Element a desired name"
taken: "Already Created Element with given name"
color:
blank: "Please assign a color to Element"
template:
attributes:
name:
blank: "Please Specify a Name"
taken: "Please use a different name"
示例 => 我删除了上面的设计验证模块,然后在用户模型中替换为您自己的模块。
希望对您有所帮助。
在 devise_en.yml
文件中试试这个:
en:
errors:
format: "%{message}"
默认格式为“%{attribute} %{message}”。
现在我得到这样的错误:
Email can't be blank
我只能改这部分
can't be blank
errors:
messages:
blank: cannot be empty
但是之后显示为:
Email cannot be empty
我也可以更改字段名称吗?让它像
E-mail_something_else cannot be empty?
我该怎么做?
我在表单中的字段:
<div class="field">
<%= t('registration.email') %><br />
<%= f.email_field :email, autofocus: true, :class => "form-field" %>
</div>
你可以简单地搜索你需要的标签,比如你搜索:already_confirmed
(即语言环境文件中的标签),你会发现在文件中:
lib/devise/models/confirmable.rb
有这一行:
self.errors.add(:email, :already_confirmed)
如果您将 email
更改为您想要的任意键。
编辑: 我正在他们的 github 仓库中搜索,所以我不是用户,这是对的,但也许您需要的消息在文件中:
lib/devise/models/authenticatable.rb
第 269 行
record.errors.add(key, value.present? ? error : :blank)
如果您想更改 Devise 的验证消息,我会建议您。
en.yml 应该是这样的
en:
activerecord:
errors:
models:
user:
attributes:
email:
blank: "Please Specify an Email id"
taken: "Please use a different Email id"
invalid: "Please Specify a valid Email id"
password:
blank: "Please Specify a Password"
confirmation: "Password does not match"
password_confirmation:
blank: "Please Specify a Password Confirmation"
first_name:
blank: "Please Specify First Name"
last_name:
blank: "Please Specify Last Name"
pdf:
attributes:
name:
blank: "Please Specify name to PDF"
taken: "Please use different name for PDF"
attachment:
blank: "Please Upload a PDF Attachment"
data_element:
attributes:
name:
blank: "Please give Element a desired name"
taken: "Already Created Element with given name"
color:
blank: "Please assign a color to Element"
template:
attributes:
name:
blank: "Please Specify a Name"
taken: "Please use a different name"
示例 => 我删除了上面的设计验证模块,然后在用户模型中替换为您自己的模块。
希望对您有所帮助。
在 devise_en.yml
文件中试试这个:
en:
errors:
format: "%{message}"
默认格式为“%{attribute} %{message}”。