Firebird 内置表单校验使用向导

Firebird 内置表单校验使用向导


Firebird.FormValidator 支持两种初始化方式。

一、基于标签的初始化

  1. <form id="J_form"
  2. fb-ui="formhelper"
  3. fb-validator="true"
  4. fb-validator-option="{stopOnError:false, timely:false}">
  5. <input name="username"
  6. fb-ui="textfield"
  7. fb-rule="required; length[~12, true]; myRule; myAjaxCheck; "
  8. fb-rule-myRule="/$lc\-(.*)-shuai^/" />
  9. fb-msg-myRule="这个校验无法通过"
  10. fb-tip="你要这么填写,lc-(这里)-shuai"
  11. fb-ok="恭喜, 这个文本框填对了"
  12. fb-target="#J_all_errors"
  13. />
  14. </form>

解析

fb-rule 定义该字段的规则集
fb-rule-password 定义了一条临时规则(在data-rule中已经使用了)
fb-msg-required 更改了默认required的消息;
fb-tip 参数使得元素获得焦点时,显示友好的信息;
fb-ok 定义的消息,将在字段验证成功后显示;
fb-target 如果定义,将决定消息最终显示位置。如果“#msg_holder”是字段(如input、select、textarea),消息的显示位置将转为该字段的消息位置,如果是带有“.msg-box”类的DOM,将显示在该DOM内; 
另外两个特殊属性,不需要带值:
novalidate 不要验证该字段,动态添加和移除该属性可以使该字段在合适的时候验证
notimely 不要实时验证该字段,动态添加和移除该属性可以使该字段在合适的时候验证





内置规则(rules)

公共定义:
1. 数值范围使用波浪线(~)表示,例如:6~(大于等于6)、~6(小于等于6)、6~16(6到16)
2. 大小比较使用 lt(小于)、lte(小于等于)、gt(大于)、gte(大于等于)、eq(等于)表示
3. 如果某个规则可以带参数,参数要使用方括号([])或者圆括号(())括起来,取决于你的习惯
规则参数描述例子
required必填项
required        //不能为空
required(xxx)   //满足xxx规则,才验证required
required(not, xxx) //如果值为空,或者xxx也认为是空
integer可选,标识整数
integer         //请输入整数
integer[*]      //请输入整数
integer[+]      //请输入正整数
integer[+0]     //请输入正整数或0
integer[-]      //请输入负整数
integer[-0]     //请输入负整数或0
match可选,标识
必选, 另一字段名
与另一字段匹配,两种用法:

match[name];
用于验证两个字段的值必须相同

match[condition, name];
用于比较两个字段大小
match[password]  //与password字段的值匹配
match[lt, money]  //小于money字段的值
match[lte, money] //小于等于money字段的值
match[eq, money]  //等于money字段的值匹配
match[neq, money]  //不能等于money字段的值
match[gte, money] //大于等于money字段的值
match[gt, money]  //大于money字段的值
range必选,范围值数值范围
range[0~99]      //0到99的整数
range[~99]       //小于或等于99的整数
range[0~]        //大于或等于0的整数
length必选,范围值
可选,是否计算真实长度
验证字符长度
length[6~16]       //6-16个字符
length[6]          //6个字符
length[~6]         //小于6个字符
length[6~]         //大于6个字符

length[~6, true]   //小于6个字符,全角字符计算双字符
checked可选,范围值对于checkbox或radio
必须要选中多少项
checked             //必填,相当于required
checked[3~5]        //请选择3到5项
checked[3]          //请选择3项
checked[~5]         //请选择少于5项
checked[3~]         //请选择大于3项
remote必选,url地址
可选,附带额外的字段
远程验证
remote[path/to/server.php]
remote[path/to/server.php, name1, name2, ..]




posted @ 2015-03-23 11:28  cleverlin  阅读(194)  评论(0)    收藏  举报