5

Grails 1.3.7プロジェクトには、次のようなドメインクラスがあります。

class User {

String login
String password
String name
String passwordConfirmation

static constraints = {
    login       unique:true, blank:false, maxSize:45
    password    password:true, blank:false, size:8..45, 
                matches: /(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).*/
    name        blank:false, maxSize:45
    passwordConfirmation display:true, password:true, validator: { val, obj ->
        if (!obj.properties['password'].equals(val)) {
            return ['password.mismatch']
        }}
}

static transients = ['passwordConfirmation']

String toString() {
    name
}

}

そして、対応する作成/編集アクションにスキャフォールドを使用しています。

私の問題は、passwordConfirmation制約を表示するようにマークしても、スキャフォールドビューに表示されないことです。一時的なプロパティを表示するために欠けているものはありますか?出来ますか?

ありがとう

4

1 に答える 1

5

デフォルトでは、grailsは一時的なプロパティのビューにフィールドを作成しません。各ビューに手動で追加することも、多数あり、スキャフォールドビューを使用している場合は、次の操作を実行できます。

ビューテンプレートをインストールします。

grails InstallTemplates

次に、src / templates/scaffoldingで関連するテンプレートを開きます

次の行を変更します。

persistentPropNames = domainClass.persistentProperties*.name

persistentPropNames = domainClass.properties*.name

テンプレートごとに。これはちょっとした悩みの種ですが、機能するはずです。テンプレートをさらに編集して、好きなプロパティを含めたり除外したりできます。

于 2011-08-09T13:39:28.173 に答える