SpringMVCでValidationチェックする

SpringMVCでデータ送信チェックしたい場合はまずpom.xmlに以下を追加します。

これを追加していないと@NotBlankや@NotEmptyアノテーションが使用できません。

が、ここでTomcatを起動すると「java.lang.NoClassDefFoundError: javax/validation/ParameterNameProvider」とエラーが出るようになりました。

どうもvalidation-apiが1.0.xとhibernate-validatorが5.xでは互換性がないようです。

ということで、validation-apiのバージョンを1.1.0.Finalに変更します。

これでTomcatを起動してエラーが出なければOKです。

アクションフォームのプライベート変数に@NotEmptyを指定します。(Lombokを使用しているのでgetter,setterはなし)

送信ボタン押下時のコントローラのメソッドの引数にBindingResultクラスを追加します。

それとアクションフォームの前に@Validアノテーションを指定します。

これで、アクションフォームのkeywordが””の場合、result.haserrorsメソッドがtrueとなります。

その場合、ビュー名にhomeを返します。

以下、エラー時の画面です。

SpringMVCでValidationチェックする

JSPは以下のとおりです。

form:errorsを以下のように変更すると、エラーメッセージがhtmlタグ要素(今回はdiv)で囲まれるようになります。

SpringMVCでValidationチェックする

関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
Python3.6,Djangoを勉強中です,Javaは少し飽きてしまってます–;
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくば、我に七難八苦を与えたまえ」です^^

スポンサーリンク
  • このエントリーをはてなブックマークに追加
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA