初始版本
This commit is contained in:
BIN
statics/js/common/plugins/validator/images/loading.gif
Executable file
BIN
statics/js/common/plugins/validator/images/loading.gif
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 457 B |
BIN
statics/js/common/plugins/validator/images/validator_simple.png
Executable file
BIN
statics/js/common/plugins/validator/images/validator_simple.png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 1.0 KiB |
65
statics/js/common/plugins/validator/jquery.validator.css
Executable file
65
statics/js/common/plugins/validator/jquery.validator.css
Executable file
@@ -0,0 +1,65 @@
|
||||
@charset "utf-8";
|
||||
/*! nice Validator 0.8.0
|
||||
* (c) 2012-2014 Jony Zhang <zj86@live.cn>, MIT Licensed
|
||||
* http://niceue.com/validator/
|
||||
*/
|
||||
.n-inline-block,.nice-validator input,.nice-validator select,.nice-validator textarea,.msg-wrap,.n-icon,.n-msg{display:inline-block;*display:inline;*zoom:1}
|
||||
.msg-box{position:relative;*zoom:1}
|
||||
.msg-wrap{position:relative;white-space:nowrap}
|
||||
.msg-wrap,.n-icon,.n-msg{vertical-align:top}
|
||||
.n-arrow{position:absolute;overflow:hidden;}
|
||||
.n-arrow b,.n-arrow i{position:absolute;left:0;top:0;border:0;margin:0;padding:0;overflow:hidden;font-weight:400;font-style:normal;font-size:12px;font-family:serif;line-height:14px;_line-height:15px}
|
||||
.n-arrow i{text-shadow:none}
|
||||
.n-icon{width:16px;height:16px;overflow:hidden;background-repeat:no-repeat}
|
||||
.n-msg{display:inline-block;line-height:15px;margin-left:2px;*margin-top:-1px;_margin-top:0;font-size:12px;font-family:simsun}
|
||||
.n-error{color:#c33}
|
||||
.n-ok{color:#390}
|
||||
.n-tip,.n-loading{color:#808080}
|
||||
.n-error .n-icon{background-position:0 0}
|
||||
.n-ok .n-icon{background-position:-16px 0}
|
||||
.n-tip .n-icon{background-position:-32px 0}
|
||||
.n-loading .n-icon{background:url("images/loading.gif") 0 center no-repeat !important}
|
||||
.n-top,.n-right,.n-bottom,.n-left{display:inline-block;line-height:0;vertical-align:top;outline:0}
|
||||
.n-top .n-arrow,.n-bottom .n-arrow{height:6px;width:12px;left:8px}
|
||||
.n-left .n-arrow,.n-right .n-arrow{width:6px;height:12px;top:6px}
|
||||
.n-top{vertical-align:top;}
|
||||
.n-top .msg-wrap{margin-bottom:6px}
|
||||
.n-top .n-arrow{bottom:-6px;}
|
||||
.n-top .n-arrow b{top:-6px}
|
||||
.n-top .n-arrow i{top:-7px}
|
||||
.n-bottom{vertical-align:bottom;}
|
||||
.n-bottom .msg-wrap{margin-top:6px}
|
||||
.n-bottom .n-arrow{top:-6px;}
|
||||
.n-bottom .n-arrow b{top:-1px}
|
||||
.n-bottom .n-arrow i{top:0}
|
||||
.n-left .msg-wrap{right:100%;margin-right:6px}
|
||||
.n-left .n-arrow{right:-6px;}
|
||||
.n-left .n-arrow b{left:-6px}
|
||||
.n-left .n-arrow i{left:-7px}
|
||||
.n-right .msg-wrap{margin-left:6px}
|
||||
.n-right .n-arrow{left:-6px;}
|
||||
.n-right .n-arrow b{left:1px}
|
||||
.n-right .n-arrow i{left:2px}
|
||||
.n-default .n-left,.n-default .n-right{margin-top:5px}
|
||||
.n-default .n-top .msg-wrap{bottom:100%}
|
||||
.n-default .n-bottom .msg-wrap{top:100%}
|
||||
.n-default .msg-wrap{position:absolute;z-index:1;}
|
||||
.n-default .msg-wrap .n-icon{background-image:url("images/validator_default.png")}
|
||||
.n-default .n-tip .n-icon{display:none}
|
||||
.n-simple .msg-wrap{position:absolute;z-index:1;}
|
||||
.n-simple .msg-wrap .n-icon{background-image:url("images/validator_simple.png")}
|
||||
.n-simple .n-top .msg-wrap{bottom:100%}
|
||||
.n-simple .n-bottom .msg-wrap{top:100%}
|
||||
.n-simple .n-left,.n-simple .n-right{margin-top:5px}
|
||||
.n-simple .n-bottom .msg-wrap{margin-top:3px}
|
||||
.n-simple .n-tip .n-icon{display:none}
|
||||
.n-yellow .msg-wrap{position:absolute;z-index:1;padding:4px 6px;font-size:12px;border:1px solid transparent;background-color:#fffcef;border-color:#ffbb76;color:#db7c22;box-shadow:0 1px 3px #ccc;border-radius:2px;}
|
||||
.n-yellow .msg-wrap .n-arrow b{color:#ffbb76;text-shadow:0 0 2px #ccc}
|
||||
.n-yellow .msg-wrap .n-arrow i{color:#fffcef}
|
||||
.n-yellow .msg-wrap .n-icon{background-image:url("images/validator_simple.png")}
|
||||
.n-yellow .n-top .msg-wrap{bottom:100%}
|
||||
.n-yellow .n-bottom .msg-wrap{top:100%}
|
||||
.n-yellow .n-tip,.n-yellow .n-ok,.n-yellow .n-loading{background-color:#f8fdff;border-color:#ddd;color:#333;box-shadow:0 1px 3px #ccc;}
|
||||
.n-yellow .n-tip .n-arrow b,.n-yellow .n-ok .n-arrow b,.n-yellow .n-loading .n-arrow b{color:#ddd;text-shadow:0 0 2px #ccc}
|
||||
.n-yellow .n-tip .n-arrow i,.n-yellow .n-ok .n-arrow i,.n-yellow .n-loading .n-arrow i{color:#f8fdff}
|
||||
.n-yellow .n-tip .n-icon{display:none}
|
||||
5
statics/js/common/plugins/validator/jquery.validator.js
Executable file
5
statics/js/common/plugins/validator/jquery.validator.js
Executable file
File diff suppressed because one or more lines are too long
162
statics/js/common/plugins/validator/local/zh_CN.js
Executable file
162
statics/js/common/plugins/validator/local/zh_CN.js
Executable file
@@ -0,0 +1,162 @@
|
||||
/*********************************
|
||||
* Themes, rules, and i18n support
|
||||
* Locale: Chinese; 中文
|
||||
*********************************/
|
||||
(function(factory) {
|
||||
if (typeof define === 'function') {
|
||||
define(function(require, exports, module){
|
||||
var $ = require('jquery'); $._VALIDATOR_URI = module.uri;
|
||||
require('../jquery.validator')($);
|
||||
factory($);
|
||||
});
|
||||
} else {
|
||||
factory(jQuery);
|
||||
}
|
||||
}(function($) {
|
||||
/* Global configuration
|
||||
*/
|
||||
$.validator.config({
|
||||
//stopOnError: false,
|
||||
//theme: 'yellow_right',
|
||||
defaultMsg: "{0}格式不正确",
|
||||
loadingMsg: "正在验证...",
|
||||
|
||||
// Custom rules
|
||||
rules: {
|
||||
digits: [/^\d+$/, "请输入数字"]
|
||||
,letters: [/^[a-z]+$/i, "请输入字母"]
|
||||
,date: [/^\d{4}-\d{1,2}-\d{1,2}$/, "请输入有效的日期,格式:yyyy-mm-dd"]
|
||||
,time: [/^([01]\d|2[0-3])(:[0-5]\d){1,2}$/, "请输入有效的时间,00:00到23:59之间"]
|
||||
,email: [/^[\w\+\-]+(\.[\w\+\-]+)*@[a-z\d\-]+(\.[a-z\d\-]+)*\.([a-z]{2,4})$/i, "请输入有效的邮箱"]
|
||||
,url: [/^(https?|s?ftp):\/\/\S+$/i, "请输入有效的网址"]
|
||||
,qq: [/^[1-9]\d{4,}$/, "请输入有效的QQ号"]
|
||||
,IDcard: [/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[A-Z])$/, "请输入正确的身份证号码"]
|
||||
,tel: [/^(?:(?:0\d{2,3}[\- ]?[1-9]\d{6,7})|(?:[48]00[\- ]?[1-9]\d{6}))$/, "请输入有效的电话号码"]
|
||||
,mobile: [/^1[3-9]\d{9}$/, "请输入有效的手机号"]
|
||||
,zipcode: [/^\d{6}$/, "请检查邮政编码格式"]
|
||||
,chinese: [/^[\u0391-\uFFE5]+$/, "请输入中文字符"]
|
||||
,username: [/^\w{3,12}$/, "请输入3-12位数字、字母、下划线"]
|
||||
,password: [/^[\S]{6,16}$/, "请输入6-16位字符,不能包含空格"]
|
||||
,accept: function (element, params){
|
||||
if (!params) return true;
|
||||
var ext = params[0];
|
||||
return (ext === '*') ||
|
||||
(new RegExp(".(?:" + ext + ")$", "i")).test(element.value) ||
|
||||
this.renderMsg("只接受{1}后缀的文件", ext.replace(/\|/g, ','));
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
/* Default error messages
|
||||
*/
|
||||
$.validator.config({
|
||||
messages: {
|
||||
error: "网络异常",
|
||||
timeout: "请求超时",
|
||||
required: "{0}不能为空",
|
||||
remote: "{0}已被使用",
|
||||
integer: {
|
||||
'*': "请输入整数",
|
||||
'+': "请输入正整数",
|
||||
'+0': "请输入正整数或0",
|
||||
'-': "请输入负整数",
|
||||
'-0': "请输入负整数或0"
|
||||
},
|
||||
match: {
|
||||
eq: "{0}与{1}不一致",
|
||||
neq: "{0}与{1}不能相同",
|
||||
lt: "{0}必须小于{1}",
|
||||
gt: "{0}必须大于{1}",
|
||||
lte: "{0}必须小于或等于{1}",
|
||||
gte: "{0}必须大于或等于{1}"
|
||||
},
|
||||
range: {
|
||||
rg: "请输入{1}到{2}的数",
|
||||
gte: "请输入大于或等于{1}的数",
|
||||
lte: "请输入小于或等于{1}的数"
|
||||
},
|
||||
checked: {
|
||||
eq: "请选择{1}项",
|
||||
rg: "请选择{1}到{2}项",
|
||||
gte: "请至少选择{1}项",
|
||||
lte: "请最多选择{1}项"
|
||||
},
|
||||
length: {
|
||||
eq: "请输入{1}个字符",
|
||||
rg: "请输入{1}到{2}个字符",
|
||||
gte: "请至少输入{1}个字符",
|
||||
lte: "请最多输入{1}个字符",
|
||||
eq_2: "",
|
||||
rg_2: "",
|
||||
gte_2: "",
|
||||
lte_2: ""
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
/* Themes
|
||||
*/
|
||||
var TPL_ICON = '<span class="n-arrow"><b>◆</b><i>◆</i></span><span class="n-icon"></span>';
|
||||
$.validator.setTheme({
|
||||
'simple_right': {
|
||||
formClass: 'n-simple',
|
||||
msgClass: 'n-right'
|
||||
},
|
||||
'simple_bottom': {
|
||||
formClass: 'n-simple',
|
||||
msgClass: 'n-bottom'
|
||||
},
|
||||
'yellow_top': {
|
||||
formClass: 'n-yellow',
|
||||
msgClass: 'n-top',
|
||||
msgIcon: TPL_ICON
|
||||
},
|
||||
'yellow_bottom': {
|
||||
formClass: 'n-yellow',
|
||||
msgClass: 'n-bottom',
|
||||
msgIcon: TPL_ICON
|
||||
},
|
||||
'yellow_right': {
|
||||
formClass: 'n-yellow',
|
||||
msgClass: 'n-right',
|
||||
msgIcon: TPL_ICON
|
||||
},
|
||||
'yellow_right_effect': {
|
||||
formClass: 'n-yellow',
|
||||
msgClass: 'n-right',
|
||||
msgIcon: TPL_ICON,
|
||||
msgShow: function($msgbox, type){
|
||||
var $el = $msgbox.children();
|
||||
if ($el.is(':animated')) return;
|
||||
if (type === 'error') {
|
||||
$el.css({
|
||||
left: '20px',
|
||||
opacity: 0
|
||||
}).delay(100).show().stop().animate({
|
||||
left: '-4px',
|
||||
opacity: 1
|
||||
}, 150).animate({
|
||||
left: '3px'
|
||||
}, 80).animate({
|
||||
left: 0
|
||||
}, 80);
|
||||
} else {
|
||||
$el.css({
|
||||
left: 0,
|
||||
opacity: 1
|
||||
}).fadeIn(200);
|
||||
}
|
||||
},
|
||||
msgHide: function($msgbox, type){
|
||||
var $el = $msgbox.children();
|
||||
$el.stop().delay(100).show().animate({
|
||||
left: '20px',
|
||||
opacity: 0
|
||||
}, 300, function(){
|
||||
$msgbox.hide();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}));
|
||||
Reference in New Issue
Block a user