2

我正在使用 Datamapper (1.2.0) 和 Sinatra (1.3.2)。我有一个模型,模型的一个属性是员工 ID。这是一个必填字段,因此每当用户未输入此字段时,我需要抛出验证错误。

Datamapper 智能地将属性名称识别为“Employee”(减少了 id 部分),并将错误显示为“Employee can't be blank”和“Employee should be an integer”。

所以我试图覆盖这些错误信息。我可以覆盖“员工不能为空”,但不能覆盖另一个。

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”错误的哈希键应该是什么?

4

1 回答 1

1

我认为您正在寻找的消息密钥是:is_number. 记录在案的地方有点隐蔽(我实际上在源代码中寻找它)。

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

于 2012-12-04T18:18:03.043 回答