final[その他]Validatorの生成はCDIを利用しています。Validationで標準で用意されているValidation用のアノテーションについてです。Validatorと同様のアノテーションがあります。Validationを行うためにはjavax.validation.Validatorクラスのオブジェクトを使用します。Validatorクラスの生成はCDIを利用しない方法とCDIを利用する方法があります。factory.getValidator();最初にjavax.validation.ValidationのbuildDefaultValidatorFactoryメソッドを使用し、javax.validation.ValidatorFactoryクラスのオブジェクトを生成します。ValidatorFactory#getValidatorメソッドを呼び出すとValidatorクラスのオブジェクトが生成されます。null;CDIを使用する場合はValidatorクラスのオブジェクトにたいしてInjectアノテーションを付与するだけです。【Validationアノテーション】サンプルでは標準で用意されているアノテーションを使用します。Validation用のアノテーションはjavax.validation.constraintsパッケージに配置されています。JAX-RSのパラメータBeanとして利用するためFormParamアノテーションを使用しています。今回のサンプルにはメッセージを設定していません。アクセサメソッドは省略}DecimalMaxアノテーションは数値の最大値、DecimalMinアノテーションは数値の最小値を指定します。上記のサンプルでは5〜100までが正常値として認識されます。long(Long)です。MaxアノテーションはDecimalMaxと同様、MinアノテーションはDecimalMinと同様です。それぞれのvalue値はlong型を指定するようになっています。long(Long)です。Sizeアノテーションは長さの指定を行うことができます。サンプルでは5〜10までの長さが正常値として認識されます。サポートされている型はCharSequence、Collection、Map、Arrayです。Digitsアノテーションは数値の桁数を指定します。サンプルでは整数が3桁まで、少数が2桁までが正常値として認識されます。long(Long)です。Futureアノテーションは未来日が、Pastアノテーションは過去日が正常値として認識されます。サポートされている型はDate、Calendarです。【Validationを実行する】サンプルのソースはJAX-RSのリソースクラスです。}}Validationを行うにはValidator#validateメソッドにパラメータとしてBeanを渡します。エラーの結果はjavax.validation.ConstraintViolationクラスのオブジェクトに格納され、Setとして返却されます。ConstraintViolationにはチェック対象のBeanのクラスを指定します。[ConstraintViolation]サンプルではConstraintViolationの中身をHTMLとして出力します。}getPropertyPathメソッドで対象のプロパティ名が、getInvalidValueメソッドで設定された値が、getMessageメソッドでメッセージが取得できます。【まとめ】アノテーションのみで入力チェックが行えました。簡単な入力チェックには利用できると思います。月別アーカイブはてなブログをはじめよう!gloryofさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。