博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Groovy&Grails-代码剪辑-复用约束
阅读量:5749 次
发布时间:2019-06-18

本文共 1121 字,大约阅读时间需要 3 分钟。

hot3.png

假如我们在程序中使用了一个command对象,在Grails2.0之后的版本中引入了新的机制,可以复用constraints块的代码,重用约束,如下面的例子:

class User { String firstName String lastName String passwordHash static constraints = { firstName blank: false, nullable: false lastName blank: false, nullable: false passwordHash blank: false, nullable: false } }

上面的代码时一个标准的domain对象,假如我们要在页面中增加一个密码验证,常用的办法是增加一个类似的command对象,代码如下:

class UserCommand { String firstName String lastName String password String confirmPassword static constraints = { importFrom User password blank: false, nullable: false confirmPassword blank: false, nullable: false } }

上面的代码修改了password为没加密的密码,新增加了一个confirmPassword属性,其他的和domain对象一样,包括约束也应该一样,所以这里可以使用importFrom User重用User的约束

如果不需要完全使用User的约束,可以使用include和exclude参数,include代码指定引入,exclude代表排除,如下:

…static constraints = { importFrom User, include: ["lastName"] …}

上面的代码表示只引入lastName的约束信息

…static constraints = { importFrom User, include: [/.*Name/] …}

上面的代码表示只引入后缀为Name的属性的约束信息,这里还使用了正则表达式。如果使用exclude则反之

转载于:https://my.oschina.net/65304586/blog/173406

你可能感兴趣的文章
微软大会Ignite,你准备好了么?
查看>>
读书笔记-高标管事 低调管人
查看>>
Master带给世界的思考:是“失控”还是进化
查看>>
用户和开发者不满苹果iCloud问题多多
查看>>
java.lang.UnsatisfiedLinkError:no dll in java.library.path终极解决之道
查看>>
我的工具:文本转音频文件
查看>>
【许晓笛】从零开始运行EOS系统
查看>>
【跃迁之路】【460天】程序员高效学习方法论探索系列(实验阶段217-2018.05.11)...
查看>>
C++入门读物推荐
查看>>
TiDB 源码阅读系列文章(七)基于规则的优化
查看>>
Spring之旅第八站:Spring MVC Spittr舞台的搭建、基本的控制器、请求的输入、表单验证、测试(重点)...
查看>>
数据结构与算法——常用排序算法及其Java实现
查看>>
你所不知的Webpack-多种配置方法
查看>>
webpack+typescript+threejs+vscode开发
查看>>
python读excel写入mysql小工具
查看>>
如何学习区块链
查看>>
搜索问题的办法
查看>>
微信分销系统商城营销5大重点
查看>>
求职准备 - 收藏集 - 掘金
查看>>
Linux-Centos启动流程
查看>>