如果我有一个文字输入名称'email',并且我设置了:message => “您的电子邮件是错误的”验证错误消息将具有类似
的内容'电子邮件您的电子邮件是错误的。'
我想知道是否有办法从rails3中的验证错误输出中删除该原始输入名称(在上面的例子中,它的Email)。
答案 0 :(得分:1)
可能有更好的方法,请让我知道它是什么,但这将有效。
class User < ActiveRecord::Base
validate do |user|
user.errors.add_to_base("Your email is of the wrong kind") unless user.email =~ email_regexp
end
end
另一种执行此操作的方法是定义自定义翻译
# en.yml
en:
activerecord:
attributes:
user:
email: "Your email"
将此与:message => 'is wrong kind'
相结合,它应该有效。 (虽然它不是真正有效的英语;))
答案 1 :(得分:0)
我认为你可以在YAML文件中定义你的消息默认格式,如下所示:
EN: #Active Model 错误: #在完整错误消息中使用的默认格式。 格式:“%{attribute}%{message}”
只需删除格式的属性部分即可。