2

Datamapper(1.2.0)とSinatra(1.3.2)を使用しています。モデルがあり、モデルのプロパティは従業員IDです。これは必須フィールドであるため、ユーザーがこれを入力しない場合は常に検証エラーをスローする必要があります。

Datamapperは、プロパティの名前を「Employee」(ID部分を削減)としてインテリジェントに識別し、「Employeeは空白にすることはできません」および「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'エラーをオーバーライドするために使用する必要があるハッシュキーは何ですか?

4

1 に答える 1

1

お探しのメッセージ キーは:is_number. これが文書化されている場所は少し隠されています。(私は実際にソースでそれを探しました)。

また、プロパティオプションにハッシュがある場合、その検証にカスタムメッセージを指定しない:messagesと、デフォルトのメッセージが置き換えられるようです。nil

于 2012-12-04T18:18:03.043 に答える