Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ jvalidator
=======================

### Change Log ###
## 蓝瘦 香菇 ##
0.3.0 去除jquery依赖
0.3.3 简化 parser, 不再使用 jison
0.3.5 修正 validatorAll 的 callback 执行顺序,并添加接口 $.jvalidator.PATTERNS
Expand Down
170 changes: 170 additions & 0 deletions README.md.bak
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
jvalidator
=======================

### Change Log ###
0.3.0 去除jquery依赖
0.3.3 简化 parser, 不再使用 jison
0.3.5 修正 validatorAll 的 callback 执行顺序,并添加接口 $.jvalidator.PATTERNS
0.3.6 修正 radio,checkbox 不触发事件的问题
0.3.7 理论支持任何元素验证,只要扩展该元素的 value 属性
0.3.9 修正读取pattern属性时的cache

### 基本使用 ###

##### 第1步

设置好表单,为需要验证的字段设置 data-jvalidator-pattern ,该内容是你可以使用的验证器

<form id="form1">
<input name="name" data-jvalidator-pattern="required" />
</form>

##### 第2步 #####

写 javascript 代码

var jv = $("#form1").jvalidator();
jv.validateAll(function( result , elements ){
alert( result ? '验证成功' : '验证失败' );
});

恭喜,你已经完成表单的基本验证功能。

* 针对表单使用
* 为需要验证的元素加上 data-jvalidator-pattern
* 即可整个表单验证,也可以单独触发某个字段的验证

##### 你可以使用的验证器 #####

关于参数的值:(普通值为任意字符,引用值为 @xxx,即指代 [name=xxx]的元素,下同)


- **required** 无参数

必须填写,如果字段还有其它验证器,则可以省略

- **non-required** 无

非必填

- **match** 普通值,引用值

与参数相同
如:match[1] 就是字段的值等于1
再如:match[@xxx] 就是字段的值等于[name=xxx]元素的值

- **contain** 普通值,引用值

包含参数中的内容

- **email** 无

验证邮箱格式

- **min_length** 数字

字段值的长度最小为参数设置
如:min_length[5]

- **max_length** 数字

字段值的长度最大为参数设置
如:max_length[5]

- **length** 数字

字段值的长度应等于参数设置
如:length[5]

- **greater_than** 数字,引用值

字段值的数字必须大于参数设置
如:greater_than[5]

- **less_than** 数字,引用值

字段值的数字必须小于参数设置
如:less_than[5]

- **equal** 数字,引用值

字段值的数字必须等于参数设置
如:equal[5]

- **alpha** 无

字母

- **alpha_numeric** 无

字母和数字

- **alpha_dash** 无

字母,数字,下划线,连接符

- **chs** 无

中文

- **chs_numeric** 无

中文,数字

- **chs_dash** 无

中文,数字,下划线,连接符

- **numeric** 无

数字

- **int** 无

整数,包括负数

- **decimal** 无

浮点数

- **idcard** 无

15及18位身份证格式

- **passport** 无

护照

- **ip** 无

IP地址

- **@(element)** 普通值,引用

引用验证器,使用上比较特殊。
如:@city[北京],即为验证 [name=city]的字段的值是否为北京。
或者 @city[@city2],即验证 city 和 city2 两个字段是否一致



### 如何看 demo ###

http://gist.corp.qunar.com/hao.lin/jvalidator/demo/index.html


将源码下载,解压后进入目录

fekit install
fekit min -f src/index.js -o demo/jvalidator.min.js

直接查看 demo/index.html



### 编译源码

jvalidator的规则解析器依赖了jison,需要修改的时候请重新执行

jison src/RuleParser.jison -m js -o src/RuleParser.js