8
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

railsのバリデーション「整数のみで文字数制限あり。なおかつ空欄でもOK」を実現する書き方

Last updated at Posted at 2019-11-06

railsのモデルにバリデーションをかける時のTipsです。

郵便番号や電話番号、クーポンナンバーなどで、空欄でも良いけれど登録する際は「整数のみOKで文字数も制限したい!」という時があると思います。

そんな時は、次の書き方でOKです。

validates :num, allow_blank: true, numericality: {only_integer: true}, length: { in: 10..11 }

以下が「空欄でもOK」の部分。

allow_blank: true

以下が「整数のみ許可」の部分。

numericality: {only_integer: true}

最後が「文字数制限」の部分です。具体的な数値は必要に応じて設定してください。

length: { in: 10..11 }

順序は変わっても問題ないかと思います。

ちなみに、バリデーションの種類については以下の記事がとても勉強になりました。
よかったらどうぞ!
https://qiita.com/shunhikita/items/772b81a1cc066e67930e

8
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?