15

fieldError以下の例で印刷する方法を知っている人はいますか。

エラーのあるアイテムごとに、messages.properties ファイルで定義したカスタム エラー メッセージを出力したいと考えています。

現時点では、これはデフォルトのエラーコードを出力するだけです

item.errors?.allErrors?.each{ 
  println it.toString() 
}

フィールドのエラーコードを検索できる他の例を見てきました。

it.getFieldError('title').code

しかし、デフォルトのメッセージを新しいエラー メッセージに変換して出力したいと思います。

4

2 に答える 2

21

たとえば、次のように、messageSource Bean にアクセスする必要があります。

def messageSource

コントローラーまたはサービスで。次に、メッセージにアクセスできます

def locale = Locale.getDefault()
for (fieldErrors in bean.errors) {
   for (error in fieldErrors.allErrors) {
      String message = messageSource.getMessage(error, locale)
   }
}
于 2010-07-16T14:41:15.720 に答える