gpt4 book ai didi

Grails:如何在域类属性上设置元约束?

转载 作者:行者123 更新时间:2023-12-01 01:31:16 25 4
gpt4 key购买 nike

我有一个属于订阅的 Contact 类,我想在订阅属性上设置一个假设的只读约束,以便在脚手架模板中使用。

类(class)看起来像

class Contact {

static belongsTo = [subscription: Subscription]

static constraints = {
subscription(nullable: false, readonly: true) // hypothetic *readonly* constraint
name(blank: false)
email(blank: false, email: true)
}

Integer id
String name
String email
String description
}

我找到了 ConstrainedProperty.addMetaConstraint方法“添加一个元约束,这是一个非验证信息约束”。

如何从 Domain 类中调用它?

我如何获得元约束?

最佳答案

在脚手架模板中,有一个来自 org.codehaus.groovy.grails.commons.DefaultGrailsDomainClass 类型的属性 domainClass。这些对象具有 constrainedProperties 属性。要超过“只读”,您必须这样做:

您的域类:

class Contact {
static belongsTo = [subscription: Subscription]

static constraints = {
subscription(nullable: false, attributes: [readonly: true])
}

String description
}

在脚手架模板中:
def ro = domainClass.constrainedProperties.subscription.attributes.readonly

DefaultGrailsDomainClass 有一个带有 Class 类型属性的构造函数,也许你可以这样做:
def domainClass = new DefaultGrailsDomainClass(Contact.class)
def ro = domainClass.constrainedProperties.subscription.attributes.readonly

也许有一个工厂,但我不知道。

关于Grails:如何在域类属性上设置元约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4794854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com