libro
www.tuyano.com
初心者のためのGroovy/Grails入門

バリデーションとフォームヘルパー (1/5)

作成:2013-11-16 10:14
更新:2013-11-16 10:14

■Grailsのバリデーション機能

今回は、データベース利用で必要となる「バリデーション」について説明しましょう。

バリデーションは、データベースの項目に入力される値を検証するための仕組みです。これはモデルとなるクラス(ドメインクラス)に用意されている各フィールドに設定されます。

実は、このバリデーションは既に使っています。先にSampleDataクラスを作成したとき、そこにこんなメソッドを用意したのを覚えているでしょうか。(http://libro.tuyano.com/index3?id=1386003&page=2
static constraints = {
    name(blank:false)
}
ドメインクラスに用意される、この「constraints」というstaticメソッドこそ、バリデーションの設定を行うためのものだったのです。ここでは、「name」フィールドに「blank:false」という設定を用意しています。バリデーションはこのように、
フィールド名 ( バリデーション名 : 値 )
という形で記述されます。複数の設定を用意する場合は、それぞれを改行して記述していけばいいのです。

サンプルとして、実際に簡単なバリデーションを設定してみましょう。下にSampleDataクラスの例を挙げておきました。ここでは、それぞれに以下のようなバリデーションを設定しています。

blank――未入力を禁止する。
email――メールアドレスの形式のみ受け付ける。
min, max――ゼロ以上200以下の数値のみ受け付ける。

ドメインクラスの設定は、このように非常に簡単です。後はそれを受け付ける側(コントローラー)の処理ですね。

※プログラムリストが表示されない場合

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)
    }
}
※関連コンテンツ

「初心者のためのGroovy/Grails入門」に戻る