3

ActiveRecord のフィールドのフォーマットを検証しようとしています。このフィールドを空にするか、一連の数字のみを含める必要があります (データベース接続用のオプションのポート番号が含まれています)。私は現在これを試しています:

validates_format_of :port, with: /\A[0-9]*\Z/, message: 'Only numbers allowed'

しかし運がない。たとえば {1, 6} のようなものを使用して必要な数を追加すると、フィールドが必須になることがわかりました。

何かアドバイス?

よろしくお願いします。

ジョセフ。

4

4 に答える 4

6

数字のみが許可されるように検証する場合は、これを使用できるはずです。

validates :port, :numericality => {:only_integer => true}
于 2013-07-23T01:09:16.330 に答える
3

次のように、フィールドの数値を検証することをお勧めします。

validates_numericality_of :port, :only_integer => true

:only_integer は、:port に入力された値が整数であることを保証します。

于 2013-07-23T01:12:31.673 に答える
1

追加することもできますallow_blank: true

于 2013-07-23T01:11:15.860 に答える