0

私は単純なドメインエンティティを持っています:

package shoesshop

class Brand {

    String name
    String description
    String logoImageURL

    static constraints = {
        name(blank: false)
        logoImageURL(nullable: true)
    }
}

名前として null 値を使用して新しいブランドを保存しようとすると、「名前を指定する必要があります」というメッセージを表示したいと考えています。

にプロパティを追加しようとしましたmessages.properties:

brand.name.nullable=Brand name must be specified  

しかし、それは自動的に取得されません。そこからどのように取得すればよいですか?私が見たbrand.errorsところ、デフォルトのメッセージだけが含まれています

Property [{0}] of class [{1}] cannot be null.

また、一連のエラー コードも含まれており、そのうちの 1 つがbrand.name.nullable.

4

3 に答える 3

2

やってみました?:

if(brand.name==null)
{
    flash.message = message(code: 'brand.name.nullable',default:'Brand name must be specified.');
    render(view: "create", model: [brand:brand])
    return
}

「default.null.message」のメッセージを変更してみることができます (アプリ全体でこれがどのように実行されるかはわかりません)。

{1} {0} must be specified
于 2012-05-22T19:12:08.773 に答える
1

nullable制約がないときにnullableエラーメッセージが表示されるのは奇妙です。blank および nullableのドキュメントnullableでは、それが異なり、blank別のメッセージを持っていることを明確に示しています。

試す

brand.name.blank

.errorまた、正しく動作させるために を追加する必要があるようです:

brand.name.blank.error or brand.name.nullable.error
于 2012-05-22T21:07:29.500 に答える
0

Grails 2.2.3 を使用しています。私にとっては、使用しているときに機能します

brands.name.blank=The name cannot be empty

このエラーが発生した後に「.../appname/controllername/save」ページを更新すると、

Property [name] of class [class ...] cannot be null

このメッセージは次のように変更できます

brands.name.nullable=The name cannot be null (do not refresh the page!!!)
于 2013-07-14T18:55:43.600 に答える