package test class User {String email String password1String password2//ShiroUser shiroUserstatic constraints = { email(email:true,nullable:false,unique:true) password1(nullable:true,size:5..30,blank: false,valIDator: {password,obj -> if(password==null && !obj.propertIEs['ID']){ return ['no.password'] } else return true }) password2(nullable:true,obj -> def password1 = obj.propertIEs['password1'] if(password == null && !obj.propertIEs['ID']){ return ['no.password'] } else{ password == password1 ? true : ['invalID.matching.passwords'] } })}static transIEnts = ['password1','password2'] }@H_419_2@在1.3.7中,这用于在我的bootstrap中工作:
def user1= new User (email: "test@test.com",password1: "123456",password2: "123456") user1.save()@H_419_2@但是,在Grails 2.0.x中,这将导致错误,说明password1和password2都为空.
如果我尝试做,在我的控制器中也会发生同样的事情:
def user2= new User (params)// params include email,password1 and password2@H_419_2@为了使其工作,我必须做以下解决方法:
def user2= new User (params)// params include email,password1 and password2 user2.password1=params.password1 user2.password2=params.password2 user2.save()@H_419_2@这是相当难看的 – 很讨厌. @H_419_2@任何人都可以说如果我的使用瞬态在grails 2.x中变得无效,或者这可能是一个框架的BUG?解决方法 为安全起见,瞬变不再自动绑定.但是您可以通过添加“可绑定”约束(参见 http://grails.org/doc/latest/ref/Constraints/bindable.html)来轻松实现.更改
password2(nullable:true,obj ->@H_419_2@至
password2(bindable: true,nullable:true,obj ->总结
以上是内存溢出为你收集整理的Grails暂时属性在对象创建时不会被拾取全部内容,希望文章能够帮你解决Grails暂时属性在对象创建时不会被拾取所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)