0

Grails 2.3.7 プロジェクトを Grails 3.2.3 にアップグレードしようとしています。2.3.7 では、カスタム制約を使用し、次を使用して /conf/Config.groovy に登録しました。

org.codehaus.groovy.grails.validation.ConstrainedProperty.registerNewConstraint('description', my.validation.DescriptionConstraint)

次に、ドメインで次のようなものを使用できます。

static constraints = {
  approvedDate(description: '>= applyDate')
}

しかし、Grails 3.2.3 では、/conf/application.groovy に上記のコマンド (およびパッケージ名から org.codehaus.groovy を削除) を入れると、次のエラーが発生しました。

Error occurred running Grails CLI: No signature of method: groovy.util.ConfigObject.registerNewConstraint() is applicable for argument types: (groovy.util.ConfigObject, groovy.util.ConfigObject) values: [[:], [DESCRIPTION_CONSTRAINT:[:]]]

Grails 3 で検証クラスが多少変更されていることに気付きました。ただし、Grails-validation の制約クラスを使用すると、同じエラーが発生します。

私が見つけたすべての検証プラグインは、Grails 3 の前に長い間放棄されていました。また、Grails 3.2 で新しい制約を登録するためのドキュメントが見つかりません。

4

2 に答える 2