我应该如何创建和配置验证器类以将其用作域类约束?例如:
class Link {
String url
static constraints = { url url:true }
}
动机:Grails UrlValidator 不允许下划线字符,尽管它是有效的,请参阅rfc2396,第 2.3 节。无保留字符。
我应该如何创建和配置验证器类以将其用作域类约束?例如:
class Link {
String url
static constraints = { url url:true }
}
动机:Grails UrlValidator 不允许下划线字符,尽管它是有效的,请参阅rfc2396,第 2.3 节。无保留字符。
您可以在src/groovy
所需的验证器(作为静态属性)中包含一个实用程序类,并在相关的域类中引用它们。
//src/groovy
class MyValidators{
static urlCheck = {url, obj ->
//custom validation for url goes here.
}
}
class Link {
String url
static constraints = {
url validator: MyValidators.urlCheck
}
}
如果不需要将验证器外部化到单独的实用程序类,那么您可以直接在域类中使用验证器:
static constraints = {
url validator: {value, obj -> ...}
}