2

Rails3アプリを開発しています。

「 Cake」モデルの「size」属性入力フィールドを検証して、ユーザーが+ 1、-1、+ 10、-10および+ 25、-25のみを入力できるようにします。

次の検証を使用して「サイズ」を検証します。

class Cake < ActiveRecord::Base
  validates_format_of :size, :with => /^[-+]?(1|10|25)$/, :message=>'size not allowed.'
  ...

end

(私のデータベースの「cakes」テーブルの「size」属性は「double」タイプです。)

UIでは、1、10、25、+ 1などを入力しても、常に検証の失敗メッセージが表示されます。値が正しい場合でも検証に合格しないのはなぜですか?

4

1 に答える 1

3

正規表現を使用した整数の検証が機能するかどうかはわかりません。

あなたは試すことができますvalidates_inclusion_of :size, :in=>[-1,+1,-10,+10,-25,+25], :message=>'size not allowed.'

于 2011-04-05T12:39:02.373 に答える