我正在使用Datamapper(1.2.0)和Sinatra(1.3.2)。我有一个模型,该模型的属性是员工ID。这是一个必填字段,所以每当用户没有输入时,我需要抛出验证错误。
Datamapper智能地将属性的名称标识为“Employee”(减少id部分),并将错误显示为“Employee not blank”和“Employee应该是整数”。
所以我试图覆盖这些错误消息。我能够覆盖'员工不能为空'但无法覆盖其他人。
property :employee_id, Integer, :required => true, :unique => true,
:messages => {
:presence => "Employee ID cannot be blank.",
:is_unique => "Employee ID should be unique."
}
我需要使用什么哈希键来覆盖'not_an_integer'错误?
答案 0 :(得分:1)
我认为您要查找的消息密钥是:is_number
。记录的地方有点hidden away。 (我实际上是在source)中找到它。
此外,似乎您在属性选项中有任何:messages
哈希值,如果您没有为该验证指定自定义消息,则默认消息将替换为nil
。