Spring MVC 2.5 を使用しています。
数値のみを入力できるフィールドがあります。そして、探していた UI に正確なエラー メッセージが表示されます。何かのようなもの
Failed to convert property value of type [java.lang.String] to required type [java.math.BigDecimal] for property executionThresholdAmount; nested exception is java.lang.NumberFormatException
そのようなメッセージをユーザーに表示したくありません。表示するテキストを整理するために message.properties ファイルを使用します。
必要なのは、特定のフィールドのエラー メッセージを上書きすることだけです。それはできませんでしたが、これが私が使用していたトリックです
if(result.hasFieldErrors()){
List<FieldError> bindingErrors=( List<FieldError>)result.getFieldErrors();
BindingResult fieldErrors=new BeanPropertyBindingResult (offerSetting, "offerSetting");
for(FieldError error :bindingErrors ){
String field=error.getField();
fieldErrors.rejectValue(field, "invalid.amount."+field);
}
result=fieldErrors;
#more code
私がやっていることは、BindingResult の実装である BeanPropertyBindingResult を作成し、エラー フィールドに必要なメッセージを入力し、結果オブジェクトへの参照を渡して表示されるようにすることです。ただし、両方のデフォルト メッセージが表示されるようになりました
like
Failed to convert property value of type [java.lang.String] to required type [java.math.BigDecimal] for property executionThresholdAmount; nested exception is java.lang.NumberFormatException
私が欲しかったメッセージも。何かのようなもの
"The amount for field price you entered is invalid"
より良いアイデアはありますか?