前提・実現したいこと
SpringFrameworkのバリデーションのエラーメッセージを表示したいのですが、予想していた表記と違うものが表示されます。
原因と対策がわからないので教えていただけると幸いです。
発生している問題・エラーメッセージ
Validation用のpropertiesファイルに該当のソースコードを入力し、 jsp画面に「××は必須です」のようなエラーメッセージのみが表記されると予想していましたが、 実際にjsp内に表記されたのは下記のような内容でした。 ----以下が表示されたエラーメッセージ----- org.springframework.context.support.DefaultMessageSourceResolvable: codes [result.age,age];arguments[];default message[age]は必須です。
該当のソースコード
properties
1(ファイル名はValidationMessages.propertiesです) 2javax.validation.constraints.NotNull.message={0}は必須です。 3javax.validation.constraints.Max.message={0}は{1}以下です。 4javax.validation.constraints.NotBlank.message={0}は必須です。
properties
1(ファイル名はmessages_ja.propertiesです。) 2age=年齢 3name=名前
jsp
1<%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%> 4<!DOCTYPE html> 5<html> 6<head> 7<meta charset=UTF-8" /> 8<title>Insert title here</title> 9</head> 10<body> 11<h1>検索条件または登録情報を入力してください</h1> 12<form:form action="result" modelAttribute="result"> 13年齢:<form:input path="age"/><form:errors path="age" cssStyle="color: red" /> 14名前:<form:input path="name"/><form:errors path="name" cssStyle="color: red" /> 15<form:button name="search">検索</form:button> 16<form:button name="regist">登録</form:button> 17</form:form> 18</body> 19</html>
java
1public class TestForm{ 2 3 @NotNull 4 @Max(100) 5 private Integer age; 6 7 @NotBlank 8 private String name; 9 10 //あとは各種getter,setterです。
試したこと
ValidationMessages.propertiesの内容をすべて消して実行したところ。
バリデーションの表記自体はできていたのでフォームやコントローラの内容は問題ないと思います。
補足情報(FW/ツールのバージョンなど)
フレームワークはSpring Framework
作成したプロジェクトはSpringスターター・プロジェクト
使用している環境はpleades/eclipseでバージョンはeclipse2020です。
依存関係はJDBC SPIとPosgreSQL DriverとSpring Webです。
また、手書きでバリデーション用のコードをpom.xmlに記述しています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。