我使用Acegi Spring Security进行Groovy appilcation。
我的用户类如下所示:
class User {
static constraint = {
email(blank:true, nullable:true)
description(blank:false, nullable:false)
username(blank: false, unique: true)
userRealName(blank: false)
company(nullable:true, blank:true)
authorities()
enabled()
passwd(blank: false)
}
static mapping = {
table 'user_table'
}
static transients = ['pass']
static hasMany = [authorities: Role]
static belongsTo = Role
String username
String userRealName
String passwd
boolean enabled
String email
boolean emailShow
String description = ''
String pass = '[secret]'
Company company
}
请注意,公司 可以为空,用户名不是可以为空。 我已经生成了视图和控制器没有任何问题。 当我尝试插入新用户(没有公司)时,我收到一个错误 消息告诉我公司 IS 是强制性的。 (我已经证实了 数据库中的字段可以为空(
)另一方面,当我生成一个没有用户名的用户时 - 应禁止用户 - 虽然异常即将到来,但验证器不会报告任何错误 尝试将null插入非可空字段时。
我在这里做错了什么?
提前致谢,
路易斯
答案 0 :(得分:1)
将“静态约束”更改为“静态约束”。