使用hibernate validator进行数据的统一保存和更新信息验证
本文主要考虑对于bean validator的统一化定制,重点在于思路,而不在于实现,所以在实现过程中有不完整的地方请谅解
?
?
? ? 关于hibernate validator,距4.0发布到现在已经快2年了,它是属于jsr 303的一部分,即Bean Validator。在开发过程中,经常会对输入的数据进行验证,不同的框架有不同的验证方式,可以在每个需要验证的地方进行验证,也可以使用统一的验证方式进行工作。显然使用统一的方式进行验证很有吸引力,特别是对于在进行数据的save和update时,经常会使用相同的验证逻辑以及各种重复的代码进行验证,如果能进行统一化调用,则能够减少一大段的使用代码,提高开发效率。
?
? ? 首先,我们来看一个原来的验证方式,如下面的代码,这们需要对user对象的username和password进行验证,如下所示:
?
//业务逻辑验证,用户名惟一if( hasUsername(getUsername()))return Message.createMessage("user.username.exist", getUsername());}?? ? 以上是一个参考实现,对于其它类,如基础数据的保存和修改,完全可以使用以上的方法,在实现中,只需要实现validateAdd即可,不用写save,在Action层只需要调用domain.save()即可,减少开发代码。
?
? ? ?本文原自:http://www.iflym.com/index.php/code/201109070002.html?此处,增加具体的参考示例,希望对大家有所帮助。