ページ

2015年2月22日日曜日

GAEと戯れる 17 - Validatorsについて -

Validatorsについて

Slim3にはValidatorsクラスがあり、チェックを行いたい項目をVaidatorsクラスに
セットし、チェックを行う。

例) コントローラ内で、isPost() == trueの場合に名前入力チェックを行う
        // 入力チェック
        Validators v = new Validators(request);
        v.add(PROPERTY_NAME, v.required());
        if (!v.validate()) {
            // チェックエラー
            ※追記
            Errors err = v.getErrors();
            //errors.put("message", err.get(PROPERTY_NAME));
            わざわざerrors.putしなくても、Validatorsクラスでは内部で
            errorsを持っているのでjspでそっちを表示できる
            return;
        }


・v.addメソッドでチェック対象項目と、チェックの種類を指定できる。
・v.validateメソッドで指定された内容に従ってチェックを行う
・v.getErrorsメソッドでエラーメッセージを取得
 ※エラーメッセージはapplication_XX.propertiesに
      validator.required={0} XXXXXXXXXXX
      という形で設定されている。

エラーメッセージの{0}にはチェック対象項目が入るが、上記の例では
PROPERTY_NAME = "name";
で定義している為、{0}にはnameが入る。
{0}に入る値を変更したい場合は、application_XX.propertiesに以下の様に定義
       label.name=名前

validator.required={0}は必須です。
validator.byteType={0}はバイトでなければいけません。
validator.shortType={0}は短整数でなければいけません。
validator.integerType={0}は整数でなければいけません。
validator.longType={0}は長整数でなければいけません。
validator.floatType={0}は単精度実数でなければいけません。
validator.doubleType={0}は倍精度実数でなければいけません。
validator.numberType={0}は数値({1})ではありません。
validator.dateType={0}は日付({1})ではありません。
validator.minlength={0}の長さが最小値({1})未満です。
validator.maxlength={0}の長さが最大値({1})を超えています。
validator.range={0}は{1}と{2}の間でなければいけません。
validator.regexp={0}が不正です。

label.name=名前


JSP側)
        <div id="err">
          ${errors.message}
        </div>

※errorsは継承元クラスで定義されているオブジェクト

表示例)














0 件のコメント:

コメントを投稿