及时有效的数据校验可以给用户良好的体验,避免用户输入半天,提交的时候,才告诉用户输入的数据有若干的问题。更悲催的是有时候,还会出现数据丢失的现象,这个时候,用户已经眼都红了。
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上,可以一次配置到处使用,避免了多次配置。