validation - Grails:域层次结构中的字段唯一性

标签 validation grails gorm

假设我们具有这样的域层次结构:

class Category {
...
    static hasMany = [groups: Group]
...
}

class Group {
...
    static belongsTo = [category: Category]
    static hasMany = [items: Item]
...
}

class Item {
...
    Integer value
    static belongsTo = [group: Group]
...
}

Item类中的字段值在一个Category中应该是唯一的。我们怎样才能做到这一点?

我尝试使用条件编写自定义验证器,但最终我收到了“发生异常后不要刷新Session”的休眠错误。有没有更好的方法来检查此约束?

最佳答案

嗯,也许

class Item {
    ...
    Integer value
    static belongsTo = [group: Group, category: Category]
    static constraints = {group value: 'category'}
    ...
}

您也可以添加自定义验证器,以检查父组是否属于同一类别。

没有测试。

关于validation - Grails:域层次结构中的字段唯一性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18687685/

相关文章:

java - 使用正则表达式验证字段

rest - Grails-withRest响应不是JSON

grails - 使用 Gradle 运行时设置 Grails 端口

grails - Grails如何使用belongsTo关联将数据保存在表中?

grails - Grails:如何分配域字段=从数据库中获取someValue

javascript - 如何在 JS 和 Rails 中处理参数验证?

java - 使用名称创建 bean 时出错。结合 bean 验证和基于 Spring 的验证

grails - 在grails域类中重写getter以解决关系版本问题

javascript - 表单未验证 - javascript

grails - 是否通过拦截器或应用程序Yaml捕获所有URL或某些URL限制成员登录?