web-dev-qa-db-ja.com

数値のみを検証する

私のRailsモデルの1つで、これを:only_integer検証しています:

validates :number, presence: true, numericality: { only_integer: true }

この検証では、+82938434+-記号のような入力も可能です。

+-番号のみの入力のみを許可するには、どの検証を使用する必要がありますか?

9
John Smith

ドキュメント for only_integerはこの正規表現に言及しています:

/\A[+-]?\d+\z/

それはあなたがただ使うことができることを意味します:

validates :number, format: { with: /\A\d+\z/, message: "Integer only. No sign allowed." }
11
Eric Duminil