バリデーションとフォームヘルパー (1/5)
作成:2013-11-16 10:14
更新:2013-11-16 10:14
更新:2013-11-16 10:14
■Grailsのバリデーション機能
今回は、データベース利用で必要となる「バリデーション」について説明しましょう。
バリデーションは、データベースの項目に入力される値を検証するための仕組みです。これはモデルとなるクラス(ドメインクラス)に用意されている各フィールドに設定されます。
実は、このバリデーションは既に使っています。先にSampleDataクラスを作成したとき、そこにこんなメソッドを用意したのを覚えているでしょうか。(http://libro.tuyano.com/index3?id=1386003&page=2)
サンプルとして、実際に簡単なバリデーションを設定してみましょう。下にSampleDataクラスの例を挙げておきました。ここでは、それぞれに以下のようなバリデーションを設定しています。
blank――未入力を禁止する。
email――メールアドレスの形式のみ受け付ける。
min, max――ゼロ以上200以下の数値のみ受け付ける。
ドメインクラスの設定は、このように非常に簡単です。後はそれを受け付ける側(コントローラー)の処理ですね。
バリデーションは、データベースの項目に入力される値を検証するための仕組みです。これはモデルとなるクラス(ドメインクラス)に用意されている各フィールドに設定されます。
実は、このバリデーションは既に使っています。先にSampleDataクラスを作成したとき、そこにこんなメソッドを用意したのを覚えているでしょうか。(http://libro.tuyano.com/index3?id=1386003&page=2)
static constraints = {ドメインクラスに用意される、この「constraints」というstaticメソッドこそ、バリデーションの設定を行うためのものだったのです。ここでは、「name」フィールドに「blank:false」という設定を用意しています。バリデーションはこのように、
name(blank:false)
}
フィールド名 ( バリデーション名 : 値 )という形で記述されます。複数の設定を用意する場合は、それぞれを改行して記述していけばいいのです。
サンプルとして、実際に簡単なバリデーションを設定してみましょう。下にSampleDataクラスの例を挙げておきました。ここでは、それぞれに以下のようなバリデーションを設定しています。
blank――未入力を禁止する。
email――メールアドレスの形式のみ受け付ける。
min, max――ゼロ以上200以下の数値のみ受け付ける。
ドメインクラスの設定は、このように非常に簡単です。後はそれを受け付ける側(コントローラー)の処理ですね。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
※SampleDataクラスのメソッド package gralisapp class SampleData { String name; String mail; int age; static constraints = { name(blank:false) mail(email:true) age(min:0, max:200) } }
※関連コンテンツ