0

「unique:true」として宣言したオブジェクトがあり、grails の message.properties にカスタム メッセージを作成しました。正しく表示されますが、引数を渡す方法がわかりません。それは可能ですか?

net.mypackage.MyObject.myField.unique = The Object {0} already belongs to the Object Group {1}.

「g:message」を介して引数を渡すことができることは認識していますが、この場合、このスニペットを介してエラーをレンダリングしています:

<g:hasErrors bean="${object}">
                        <ul class="errors no-margin" role="alert">
                            <g:eachError bean="${object}" var="error">
                            <li <g:if test="${error in org.springframework.validation.FieldError}">data-field-id="${error.field}"</g:if>><g:message error="${error}"/></li>
                            </g:eachError>
                        </ul>
                    </g:hasErrors>

エラーが「一意の制約」エラーであるかどうかを判断するために if-else を実行してから値を渡すようにハックすることはできますが、それ以外はわかりません。インターネットで見かけるカスタム メッセージの例のほとんどは、カスタム バリデータに関連しています。私は試しました..しかし、私はまだそれに頼りたくありません...これを行う方法について何か意見はありますか?

4

1 に答える 1

3

Grails のドキュメント ( http://grails.org/doc/latest/guide/i18n.html ) から:

<g:message code="my.localized.content" args="${ ['Juan', 'lunes'] }" />
于 2013-02-25T09:02:58.207 に答える