及时有效的数据校验可以给用户良好的体验,避免用户输入半天,提交的时候,才告诉用户输入的数据有若干的问题。更悲催的是有时候,还会出现数据丢失的现象,这个时候,用户已经眼都红了。
Tiny MDA中集成了JQuery Validate用来进行前端数据校验,当然,为了避免恶意用户手工提交数据或禁用JS、动态修改JS等方式进行攻击,后台数据校验也是必须的。
Tiny框架提交的数据校验属于一次定义,前后台同时启作用。在良好用户体验及数据安全方面取得平衡。
目前 ,集成的数据校验规则与JQuery Validate基本相同,也可以扩展新的处理方式。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
required email url date dateISO number digits equalTo maxlength minlength rangelength range max min |
配置方式与JQuery Validate基本相同,稍有差异的是:
equalTo:前面不用加#,只能用名字来进行匹配
比如:password, repassword
则在password上添加equalTo:repassword
在repassword上添加 equalTo:passwordrange和rangelength,两边不需要加“[]”
比如:
range:3,5
配置方法:
在实体模型的groups>group>field节点上如下配置:
1
2
3
4
5
|
< field standard-field-id = "user_account" primary = "false" unique = "false" display = "false" not-null = "false" auto-increase = "false" editable = "false" hidden = "false" table-field = "true" id = "user_account" >
< validate-rules >
< validate-rule rule-name = "required" rule-value = "" messege = "用户账号不能为空!" />
</ validate-rules >
</ field >
|
当然,也可以根据情况添加多个校验规则。message属性也可以不配,不配的时候,则采用默认信息。
问题:为什么不是配在操作字段上而是配在field上?
配在field上,可以一次配置到处使用,避免了多次配置。