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 件のコメント:
コメントを投稿