安裝使用
模塊
在應用中引用 validator.min.js 文件
$ npm install validator.tool --save
在 .js 文件中調用
// 字符串驗證
var validator = require('validator.tool');
var v = new validator();
v.isEmail('wowohoo@qq.com');
v.isIp('192.168.23.3');
v.isFax('');
// 表單驗證
var a = new validator('example_form',[
{...}
],function(obj,evt){
if(obj.errors){
// 判斷是否錯誤
}
})
客戶端使用
在應用中引用 validator.min.js 文件
<script type="text/javascript" src="dist/validator.min.js"></script>
在JS中使用方法。
<script type="text/javascript">
var v = new Validator();
v.isEmail('wowohoo@qq.com');
v.isIp('192.168.23.3');
</script>
應用在表單中的方法。
<form id="example_form">
<div>
<label for="email">郵箱驗證</label>
<input type="email" name="email" id="email" class="form-control" placeholder="Email">
</div>
</form>
<script type="text/javascript">
var validator = new Validator('example_form',[
{
//name 字段
name: 'email',
display:"你輸入的不{{email}}是合法郵箱|不能為空|太長|太短",
// 驗證條件
rules: 'is_emil|max_length(12)'
// rules: 'valid_email|required|max_length(12)|min_length(2)'
},{
//name 字段
name: 'sex',
display:"請你選擇性別{{sex}}",
// 驗證條件
rules: 'required'
}
],function(obj,evt){
if(obj.errors){
// 判斷是否錯誤
}
})
</script>
說明文檔
new Validator(formName, option, callback)
formName
formName 是標簽中<form> 中的 id 或者 name 的值,如上面的example_form
option
name-> input 中name對應的值display-> 驗證錯誤要提示的文字{{這個中間是name對應的值}}-
rules-> 一個或多個規則(中間用|間隔)is_email-> 驗證合法郵箱is_ip-> 驗證合法 ip 地址is_fax-> 驗證傳真is_tel-> 驗證座機is_phone-> 驗證手機is_url-> 驗證URLrequired-> 是否為必填max_length-> 最大字符長度min_length-> 最小字符長度
{
//name 字段
name: 'email',
display:"你輸入的不{{email}}是合法郵箱|不能為空|太長|太短",
// 驗證條件
rules: 'is_email|max_length(12)'
// rules: 'valid_email|required|max_length(12)|min_length(2)'
}
callback
var validator = new Validator('example_form',[
{...},{...}
],function(obj,evt){
//obj = {
// callback:(error, evt, handles)
// errors:Array[2]
// fields:Object
// form:form#example_form
// handles:Object
// isCallback:true
// isEmail:(field)
// isFax:(field)
// isIp:(field)
// isPhone:(field)
// isTel:(field)
// isUrl:(field)
// maxLength:(field, length)
// minLength:(field, length)
// required:(field)
//}
if(obj.errors.length>0){
// 判斷是否錯誤
}
})
例子
字符串驗證
var v = new Validator();
v.isEmail('wowohoo@qq.com'); // -> 驗證合法郵箱 |=> 返回布爾值
v.isIp('192.168.23.3'); // -> 驗證合法 ip 地址 |=> 返回布爾值
v.isFax(''); // -> 驗證傳真 |=> 返回布爾值
v.isPhone('13622667263'); // -> 驗證手機 |=> 返回布爾值
v.isTel('021-324234-234'); // -> 驗證座機 |=> 返回布爾值
v.isUrl('http://JSLite.io'); // -> 驗證URL |=> 返回布爾值
v.maxLength('JSLite',12); // -> 最大長度 |=> 返回布爾值
v.minLength('JSLite',3); // -> 最小長度 |=> 返回布爾值
v.required('23'); // -> 是否為必填(是否為空) |=> 返回布爾值
表單中驗證
點擊按submit按鈕驗證
1 var validator = new Validator('example_form',[ 2 { 3 //name 字段 4 name: 'email', 5 display:"你輸入的不{{email}}是合法郵箱|不能為空|太長|太短", 6 // 驗證條件 7 rules: 'is_email|max_length(12)' 8 // rules: 'valid_email|required|max_length(12)|min_length(2)' 9 },{ 10 //name 字段 11 name: 'sex', 12 display:"請你選擇性別{{sex}}", 13 // 驗證條件 14 rules: 'required' 15 } 16 ],function(obj,evt){ 17 if(obj.errors){ 18 // 判斷是否錯誤 19 } 20 })
沒有submit驗證
1 var validator = new Validator('example_form',[ 2 { 3 //name 字段 4 name: 'email', 5 display:"你輸入的不{{email}}是合法郵箱|不能為空|太長|太短", 6 // 驗證條件 7 rules: 'is_email|max_length(12)' 8 // rules: 'valid_email|required|max_length(12)|min_length(2)' 9 },{ 10 //name 字段 11 name: 'sex', 12 display:"請你選擇性別{{sex}}", 13 // 驗證條件 14 rules: 'required' 15 } 16 ],function(obj,evt){ 17 if(obj.errors){ 18 // 判斷是否錯誤 19 } 20 }) 21 validator.validate()
