及时有效的数据校验可以给用户良好的体验,避免用户输入半天,提交的时候,才告诉用户输入的数据有若干的问题。更悲催的是有时候,还会出现数据丢失的现象,这个时候,用户已经眼都红了。 Tiny MDA中集成了JQuery Validate用来进行前端数据校验,当然,为了避免恶意用户手工提交数据或禁用JS、动态修改JS等方式进行攻击,后台数据校验也是必须的。
Tiny框架提交的数据校验属于一次定义,前后台同时启作用。在良好用户体验及数据安全方面取得平衡。
目前 ,集成的数据校验规则与JQuery Validate基本相同,也可以扩展新的处理方式。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
required url date dateISO number digits equalTo maxlength minlength rangelength range max min |
配置方式与JQuery Validate基本相同,稍有差异的是:
equalTo:前面不用加#,只能用名字来进行匹配
比如:password, repassword
则在password上添加equalTo:repassword
在repassword上添加 equalTo:password range和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上,可以一次配置到处使用,避免了多次配置。