現在、デフォルトの制約に対して grails でカスタム エラー メッセージを指定しようとしていますが、これまでのところ、返されるのはデフォルトのエラー メッセージだけです。
grails-app/i18n/messages.properties ファイルを編集する必要があることはわかっています
次のデフォルトのエラー コード メッセージを変更すると、新しいエラー メッセージが正しく表示されます
default.blank.message=Property [{0}] of class [{1}] cannot be blank
しかし、これは私がやろうとしていることではありません。より詳細なエラー報告が必要で、空白にすることができるフィールドが複数あります。できるようにしたいのは、クラスの各フィールドにカスタム メッセージを表示することです。
package com.mycompany.myapp
class Test{
String name
def constraints = {
name(nullable:false, blank:false)
}
}
(messages.properties の末尾に追加された次のコード)
test.name.blank=Name cannot be blank
test.name.nullable=Name cannot be nullable
grails のドキュメントによると、これはパッケージ名の有無にかかわらず、正しく動作するはずです - className.propertyName.blank
grails.org/doc/latest/ (制約セクション) & (セクション 7.4 - 検証と国際化)
考えられるすべての組み合わせを試しましたが、常にカスタム メッセージが表示されます
grails i18n テンプレートプラグインのインストールも試みました
http://www.grails.org/I18n+Templates+Plugin
エラーコードを自動的に生成しました。既存の messages.properties ファイルの末尾に新しいエラー コードを追加しましたが、それでもデフォルトのエラー メッセージが表示されます。
ただし、プラグインによって生成されたエラー コードには何か違いがありました。
grails doc で指定された形式 - test.name.null=...... の代わりに、test.name.null.error=Custom Message を自動的に生成しました。
デフォルトのエラーメッセージも完全に削除しようとしましたが、まだ表示されています
誰かが以前にこの問題を経験したことがある場合は、誰かが私にできる助けをいただければ幸いです
前もって感謝します