gpt4 book ai didi

grails - Grails中的自定义域约束

转载 作者:行者123 更新时间:2023-12-02 15:29:58 26 4
gpt4 key购买 nike

public class Service {

String reviewChanges
String comment

static constraints = {
reviewChanges (inList:['NO','YES'])
comment validator: { val, obj ->
if(reviewChanges=='YES') {
(nullable:false, blank:false, minSize:1, maxSize:500)
} else {
(nullable:true, blank:true, minSize:1, maxSize:500)
}
}
}
}

以上评论验证程序不适用于我。
我想要的是,如果reviewChanges字段选择为YES,那么Comment字段必须为必填字段,否则注释为非必需

最佳答案

使用自定义验证器的最佳方式将是这样。

static constraints = {
reviewChanges(inList:['NO','YES'])
comment validator: { val, obj,errors ->
if (obj.reviewChanges == 'YES' && StringUtils.isEmpty(val)) {
errors.rejectValue('comment',"some.custom.validation.key")
}
}
}

errors.rejectValue 将允许您使用propertyName给出正确的字段错误,也可以将其用于参数化错误...
errors.rejectValue('propertyName','errorCode',errorArgs as Object[],'defaultMessage')

并定义errorCode是message.properties以访问errorArgs之类的
errorCode = This is {0} first parameter being passed as errorArgs.

谢谢

关于grails - Grails中的自定义域约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21019141/

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