Grails 2.5.0-约束必须为空或遵循验证
我想做一些类似的事情:Grails 2.5.0-约束必须为空或遵循验证,grails,command-objects,Grails,Command Objects,我想做一些类似的事情: class MyCommand { String name String data static constraints = { name blank: false, size: 3..64 data (blank: true) || (blank: false, size: 3..64) } } 其中,数据为空或遵循验证,如大小约束(如果不是空的话)。这是否可以在没有自定义验证的情况下实现?
class MyCommand {
String name
String data
static constraints = {
name blank: false, size: 3..64
data (blank: true) || (blank: false, size: 3..64)
}
}
其中,数据为空或遵循验证,如大小约束(如果不是空的话)。这是否可以在没有自定义验证的情况下实现?在验证器约束中使用其他约束是非常重要的。约束闭包的委托是一个,您可以通过阅读来理解其复杂性 但这并不重要,因为使用Apache,您可以在验证器中使用Apache。下面是正在运行的EmailValidator:
@Grab('commons-validator:commons-validator:1.4.1')
import org.apache.commons.validator.routines.EmailValidator
def emailValidator = EmailValidator.getInstance();
assert emailValidator.isValid('what.a.shame@us.elections.gov')
assert !emailValidator.isValid('an_invalid_emai_address')
您可以在自己的系统中使用EmailValidator,如下所示:
import org.apache.commons.validator.routines.EmailValidator
class MyCommand {
String name
String data
static constraints = {
name blank: false, size: 3..64
data validator: {
if(it) {
EmailValidator
.getInstance()
.isValid(it)
} else { true }
}
}
}
在验证器约束中使用其他约束是非常重要的。约束闭包的委托是一个,您可以通过阅读来理解其复杂性 但这并不重要,因为使用Apache,您可以在验证器中使用Apache。下面是正在运行的EmailValidator:
@Grab('commons-validator:commons-validator:1.4.1')
import org.apache.commons.validator.routines.EmailValidator
def emailValidator = EmailValidator.getInstance();
assert emailValidator.isValid('what.a.shame@us.elections.gov')
assert !emailValidator.isValid('an_invalid_emai_address')
您可以在自己的系统中使用EmailValidator,如下所示:
import org.apache.commons.validator.routines.EmailValidator
class MyCommand {
String name
String data
static constraints = {
name blank: false, size: 3..64
data validator: {
if(it) {
EmailValidator
.getInstance()
.isValid(it)
} else { true }
}
}
}
不,没有自定义验证例程是不可能的。有没有办法在自定义验证中通过常规grails电子邮件验证运行“数据”的?没有自定义验证例程是不可能的。有没有办法在自定义验证中通过常规grails电子邮件验证运行“数据”的?