Grails暂时属性在对象创建时不会被拾取

Grails暂时属性在对象创建时不会被拾取,第1张

概述从Grails 1.3.7迁移到2.0.4我注意到我的一个域类的一个问题,我使用临时属性来处理密码. 我的域类看起来像这样(简化): package test class User {String email String password1String password2//ShiroUser shiroUserstatic constraints = { email 从Grails 1.3.7迁移到2.0.4我注意到我的一个域类的一个问题,我使用临时属性来处理密码. @H_419_2@我的域类看起来像这样(简化):

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暂时属性在对象创建时不会被拾取所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1141714.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存