使用datamapper gem验证错误

时间:2012-12-04 16:21:36

标签: sinatra datamapper

我正在使用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'错误?

1 个答案:

答案 0 :(得分:1)

我认为您要查找的消息密钥是:is_number。记录的地方有点hidden away。 (我实际上是在source)中找到它。

此外,似乎您在属性选项中有任何:messages哈希值,如果您没有为该验证指定自定义消息,则默认消息将替换为nil