バリデーションによる値の検証 (5/5)
作成:2012-10-28 19:09
更新:2012-10-28 19:09
更新:2012-10-28 19:09
■主なバリデーションを覚えよう
バリデーションの使い方について一通りわかったところで、Railsに用意されている主なバリデーションルールについてまとめて説明しておきましょう。
「:presence」
「:uniqueness」
「:numericality」
・:numericalityのオプション
:only_integer――整数のみを許可します。
:greater_than――指定した値より大きかどうか調べます。
:greater_than_or_equal_to――指定した値以上かどうかを調べます。
:less_than――指定した値未満かどうかを調べます。
:less_than_or_equal_to――指定した値以下かどうかを調べます。
:equal_to――指定した値と等しいかどうかを調べます。
:even――偶数かどうかを調べます。
:odd――奇数かどうかを調べます。
「:length」
・:lengthのオプション
:maximum――最大文字数を指定します。
:minimum――最小文字数を指定します。
:is――指定の文字数かどうかを調べます。
:within――文字数の範囲を指定します。範囲は、「A..B」というように範囲を示す値を使います。
:tokenizer――テキストを分割するためのものです。これは「ラムダ式」といって関数を定義するような形で処理を用意します。
「:acceptance」
「:confirmation」
「:inclusion/:exclusion」
――この他にもありますが、ここに挙げた基本的なものだけわかれば、たいていのバリデーションは作成できるでしょう。サンプルで作成したモデルを書き換えて、それぞれのバリデーションを設定して使ってみましょう。
「:presence」
:presence => true必須項目とするためのものです。必ず値を入力しなければいけません。
「:uniqueness」
:uniqueness => true項目の値がユニーク(同じ値が複数存在しない)であるかチェックするためのものです。
「:numericality」
:numericality => { オプション = 設定, ……}数値のみを入力するためのものです。ハッシュに用意できるオプションとしては以下のようなものが用意されています。
・:numericalityのオプション
:only_integer――整数のみを許可します。
:greater_than――指定した値より大きかどうか調べます。
:greater_than_or_equal_to――指定した値以上かどうかを調べます。
:less_than――指定した値未満かどうかを調べます。
:less_than_or_equal_to――指定した値以下かどうかを調べます。
:equal_to――指定した値と等しいかどうかを調べます。
:even――偶数かどうかを調べます。
:odd――奇数かどうかを調べます。
「:length」
:length => { オプション = 設定, ……}テキストの長さ(文字数)に関するものです。ハッシュに用意できるオプションには以下のものがあります。
・:lengthのオプション
:maximum――最大文字数を指定します。
:minimum――最小文字数を指定します。
:is――指定の文字数かどうかを調べます。
:within――文字数の範囲を指定します。範囲は、「A..B」というように範囲を示す値を使います。
:tokenizer――テキストを分割するためのものです。これは「ラムダ式」といって関数を定義するような形で処理を用意します。
「:acceptance」
:acceptance => { :accept => 値 }チェックボックスのチェックを確認するためのものです。:acceptにはチェック時の値が指定されます。
「:confirmation」
:confirmation => true2つの入力フィールドの値が同じかどうかをチェックします。これを利用する場合、この:confirmationを設定した項目名の後に「_confirmation」とつけた名前の入力フィールドを用意します。
「:inclusion/:exclusion」
:inclusion => { :in => 配列 }入力された値が、あらかじめ用意しておいた配列の中にあるかどうかをチェックするものです。:inclusionは入っていればOK、:exclusionは入っていなければOKとなります。
:exclusion => { :in => 配列 }
――この他にもありますが、ここに挙げた基本的なものだけわかれば、たいていのバリデーションは作成できるでしょう。サンプルで作成したモデルを書き換えて、それぞれのバリデーションを設定して使ってみましょう。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
※関連コンテンツ