管理软件开发中,校验必不可少。而且很多时候是后期客户要求追加或者修改校验。这时候需要把已经开发完成的页面一一修改,无疑是一场噩梦。
MisShop设定字段校验,有两种办法,而第一种办法可以有效解决这个后期追加修改的难题。
- 数据表设计中设置,对所有页面生效。可以在后期追加或者调整。
- 页面设计中设置,对某个页面生效。
1.MisShop支持的校验类型。
常见校验类型包括
- 手机号
- 电话号
- 邮箱
- 身份证
- 网址
- 正则表达式
还有两类特殊验证。
- 长度校验:大于,大于等于,小于,小于等于,等于
- 非空校验。
2.全局的数据表配置
打开数据表设计视图,可以看到在 字段类型 后面,有 验证类型 和 验证长度,后面还有 必填。
- 验证类型
点击字段的 验证类型 ,可以设置该字段验证类型。
- 验证类型
点击字段的 验证长度 ,可以设置该字段的长度校验。
设置后的验证长度使用如下符号来表示:
10
: 等于10。
[1,10]
:大于等于1,小于等于10。
(1,10)
: 大于1,小于10。
[1,10)
: 大于等于1,小于10。
对于文本类型的字段,设置的验证长度表示文本的字数。
对于数值类型的字段,设置的验证长度,表示数值大小的限制。
- 非空验证
把该字段的 必填 勾上即可。
3.页面级配置
在页面中,找到表示输入项的格子,点击右键弹出右键菜单,选择 单元格验证 ,弹出如下页面,可以增加各种验证。
出错提示 是在验证不符合的时候,弹出的信息。出错提示可以写公式。
立即校验 如果被勾上,那么表示当该字段输入完成,输入下一个字段的时候就被校验,否则表示 保存 时才进行校验。
4.复杂验证配置
-
使用公式配置校验。
例如数据表 订单明细,要求 订单明细的优惠金额 必须 大于等于 订单的单价和数量的乘积的80%。也就是折扣不能高于八折。
在订单的校验类型里可以直接写公式:
value()>=dynamic(it.单价)*dynamic(it.数量)
value()
:表示页面上这个格子的当前值。
it
: 表示这条记录。一般作为编辑页面里的该表数据。这里就表示该条订单明细记录。
it.单价
:表示这条订单明细的 单价 字段。
it.数量
: 表示这条订单明细的 数量 字段。
dynamic(it.单价)
:特殊函数,表示 it.单价 是随着页面上用户在这个格子的输入的变化而变化的。
5.附录(代码级):正则校验和更多校验类型
-
正则校验
在数据表设计时字段的 验证类型 ,或者页面设计时的 表达式 栏里,手动输入公式
Validate.validRegex(value(),正则表达式串)
。例如如
Validate.validRegex(value(),"/^1[3-578]\d{9}$/")
:表示手机号的正则校验。
- 增加更多常用校验类型
编写Spring 对象,实现IValidation接口。