treport 1.1.1 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/app/models/connect.rb +1 -0
  3. data/app/models/db.rb +1 -1
  4. data/app/models/map.rb +1 -0
  5. data/app/models/map_requirement.rb +1 -0
  6. data/app/models/report.rb +17 -9
  7. data/app/models/requirement.rb +1 -0
  8. data/public/treport/plugins/datePicker/My97DatePicker.htm +48 -48
  9. data/public/treport/plugins/datePicker/WdatePicker.js +52 -52
  10. data/public/treport/plugins/datePicker/calendar.js +4 -4
  11. data/public/treport/plugins/datePicker/config.js +16 -16
  12. data/public/treport/plugins/datePicker/lang/en.js +13 -13
  13. data/public/treport/plugins/datePicker/lang/zh-cn.js +13 -13
  14. data/public/treport/plugins/datePicker/lang/zh-tw.js +13 -13
  15. data/public/treport/plugins/datePicker/skin/WdatePicker.css +9 -9
  16. data/public/treport/plugins/datePicker/skin/areo/datepicker.css +301 -301
  17. data/public/treport/plugins/datePicker/skin/armyGreen/datepicker.css +301 -301
  18. data/public/treport/plugins/datePicker/skin/blue/datepicker.css +114 -114
  19. data/public/treport/plugins/datePicker/skin/blueGreen/datepicker.css +301 -301
  20. data/public/treport/plugins/datePicker/skin/darkBlue/datepicker.css +308 -308
  21. data/public/treport/plugins/datePicker/skin/darkYellow/datepicker.css +114 -114
  22. data/public/treport/plugins/datePicker/skin/deepBlue/datepicker.css +300 -300
  23. data/public/treport/plugins/datePicker/skin/default/datepicker.css +245 -245
  24. data/public/treport/plugins/datePicker/skin/green/datepicker.css +114 -114
  25. data/public/treport/plugins/datePicker/skin/lightBlue/datepicker.css +114 -114
  26. data/public/treport/plugins/datePicker/skin/modernBlue/datepicker.css +301 -301
  27. data/public/treport/plugins/datePicker/skin/orange/datepicker.css +114 -114
  28. data/public/treport/plugins/datePicker/skin/red/datepicker.css +114 -114
  29. data/public/treport/plugins/datePicker/skin/whyGreen/datepicker.css +255 -255
  30. data/public/treport/plugins/datePicker/skin/yellowGreen/datepicker.css +114 -114
  31. data/public/treport/plugins/validationEngine/jquery.validationEngine-zh_CN.js +181 -181
  32. data/public/treport/plugins/validationEngine/jquery.validationEngine.js +2160 -2160
  33. data/public/treport/plugins/validationEngine/template.css +124 -124
  34. data/public/treport/plugins/validationEngine/validationEngine.jquery.css +182 -182
  35. data/public/treport/plugins/zDialog/dialog.js +1312 -1312
  36. data/public/treport/plugins/zDialog/drag.js +91 -91
  37. data/public/treport/plugins/zDialog/skins/blue/dir.txt +24 -24
  38. data/public/treport/plugins/zDialog/skins/darkBlue/dir.txt +24 -24
  39. data/public/treport/plugins/zDialog/skins/darkYellow/dir.txt +24 -24
  40. data/public/treport/plugins/zDialog/skins/green/dir.txt +24 -24
  41. data/public/treport/plugins/zDialog/skins/lightBlue/dir.txt +24 -24
  42. data/public/treport/plugins/zDialog/skins/red/dir.txt +24 -24
  43. data/public/treport/plugins/zDialog/skins/yellowGreen/dir.txt +24 -24
  44. data/public/treport/plugins/zDialog/zDialog.js +763 -763
  45. metadata +2 -2
@@ -1,115 +1,115 @@
1
- /*
2
- * My97 DatePicker 4.7
3
- * 皮肤名称:Ycloud5d99cf
4
- * 皮肤作者:风逍云逸 abc123@foxmail.com
5
- */
6
-
7
- /* 日期选择容器 DIV */
8
- .WdateDiv { width:180px; padding:2px; background-color:#fff; border: solid 1px #5d99cf; }/* 最外层边框色*/
9
- /* 双月日历的宽度 */
10
- .WdateDiv2{width:360px;}
11
- .WdateDiv * { font:9pt Arial, Helvetica, sans-serif; }
12
- /****************************
13
- * 导航图标 全部是A标签
14
- ***************************/
15
- .WdateDiv .NavImg a{ display:block;width:16px; height:16px; cursor:pointer; }
16
- .WdateDiv .NavImgll a{ float:left;background:url(bg.gif) no-repeat 4px 6px; }
17
- .WdateDiv .NavImgl a{ float:left;background:url(bg.gif) no-repeat 4px -10px; }
18
- .WdateDiv .NavImgr a{ float:right;background:url(bg.gif) no-repeat -20px -10px; }
19
- .WdateDiv .NavImgrr a{ float:right;background:url(bg.gif) no-repeat -20px 6px; }
20
- /****************************
21
- * 年份月份相关
22
- ***************************/
23
- /* 年份月份栏 DIV */
24
- .WdateDiv #dpTitle { height:24px; margin-bottom:2px; background:#83a96c url(qs.jpg) repeat-x bottom; }
25
- /* 年份月份输入框 INPUT */
26
- .WdateDiv .yminput { width:50px; height:20px; margin-top:2px; border:0px; background:transparent; cursor:pointer; color:white; line-height:14px; text-align:center; }
27
- /* 年份月份输入框获得焦点时的样式 INPUT */
28
- .WdateDiv .yminputfocus { width:50px; height:20px; margin-top:2px; border:#939393 1px solid; color:5d99cf; font-weight:bold; line-height:14px; text-align:center; }
29
- /* 菜单选择框 DIV */
30
- .WdateDiv .menuSel { z-index:1;position:absolute; display:none; background-color:#FFFFFF; border:#8db279 1px solid; }/* 年月选择菜单的边框色*/
31
- /* 菜单的样式 TD */
32
- .WdateDiv .menu { cursor:pointer; background-color:#fff; color:#5d99cf; }
33
- /* 菜单的mouseover样式 TD */
34
- .WdateDiv .menuOn { cursor:pointer; color:white; background-color:#8db279; }/* 时间快速选择鼠标移入背景色 */
35
- /* 菜单无效时的样式 TD */
36
- .WdateDiv .invalidMenu { color:#aaa; }
37
- /* 年选择框的偏移 DIV */
38
- .WdateDiv .YMenu { margin-top:20px; }
39
- /* 月选择框的偏移 DIV */
40
- .WdateDiv .MMenu { margin-top:20px; *width:62px;
41
- }
42
- /* 时选择框的位置 DIV */
43
- .WdateDiv .hhMenu { margin:-90px 0 0 26px; }
44
- /* 分选择框的位置 DIV */
45
- .WdateDiv .mmMenu { margin:-46px 0 0 26px; }
46
- /* 秒选择框的位置 DIV */
47
- .WdateDiv .ssMenu { margin:-24px 0 0 26px; }
48
- /****************************
49
- * 周相关
50
- ***************************/
51
- .WdateDiv .Wweek { background:#DAF3F5; border-right:#BDEBEE 1px solid; text-align:center; }
52
- /****************************
53
- * 星期,日期相关
54
- ***************************/
55
- /* 星期栏 TR */
56
- .WdateDiv .MTitle { background:#8db279; color:white; } /* 星期栏背景色 */
57
- .WdateDiv .WdayTable2{
58
- border-collapse:collapse;
59
- border:#8db279 1px solid; /* 星期栏边框色 */
60
- }
61
- .WdateDiv .WdayTable2 table{
62
- border:0;
63
- }
64
- /* 日期栏表格 TABLE */
65
- .WdateDiv .WdayTable { background:white; border:#8db279 1px solid; color:5d99cf; }/* 日期栏边框色*/
66
- .WdateDiv .WdayTable td{
67
- line-height:20px;
68
- text-align:center;
69
- }
70
- /* 日期格的样式 TD */
71
- .WdateDiv .Wday { cursor:pointer; }
72
- /* 日期格的mouseover样式 TD */
73
- .WdateDiv .WdayOn { background-color:#8db279; cursor:pointer; font-size:13px; color:yellow; }/* 日期格鼠标移入背景色 */
74
- /* 周末日期格的样式 TD */
75
- .WdateDiv .Wwday { cursor:pointer; color:#bd1f1f; }
76
- /* 周末日期格的mouseover样式 TD */
77
- .WdateDiv .WwdayOn { background-color:#8db279; color:yellow; cursor:pointer; font-size:13px; }/* 周末日期格鼠标移入背景色 */
78
- .WdateDiv .Wtoday { cursor:pointer; color:blue; font-size:13px; }
79
- .WdateDiv .Wselday { background-color:#8db279; color:yellow; font-size:13px; }/* 周末日期格鼠标移入背景色 */
80
- .WdateDiv .WspecialDay{ background-color:#EAF330;}
81
- /* 其他月份的日期 */
82
- .WdateDiv .WotherDay { cursor:pointer; color:#666; }
83
- /* 其他月份的日期mouseover样式 */
84
- .WdateDiv .WotherDayOn { cursor:pointer; color:#666; }
85
- /* 无效日期的样式,即在日期范围以外日期格的样式,不能选择的日期 */
86
- .WdateDiv .WinvalidDay { color:#aaa; }
87
-
88
- /****************************
89
- * 时间相关
90
- ***************************/
91
- /* 时间栏 DIV */
92
- .WdateDiv #dpTime { margin-top:3px; }
93
- /* 时间文字 SPAN */
94
- .WdateDiv #dpTime #dpTimeStr { margin-left:1px; color:green; }
95
- /* 时间输入框 INPUT */
96
- .WdateDiv #dpTime input { width:18px; height:16px; border:#5d99cf 1px solid; color:black; line-height:14px; text-align:center; }
97
- /* 时间 时 INPUT */
98
- .WdateDiv #dpTime .tB { border-right:0px; }
99
- /* 时间 分和间隔符 ':' INPUT */
100
- .WdateDiv #dpTime .tE { border-left:0; border-right:0; }
101
- /* 时间 秒 INPUT */
102
- .WdateDiv #dpTime .tm { width:7px; border-left:0; border-right:0; }
103
- /* 时间右边的向上按钮 BUTTON */
104
- .WdateDiv #dpTime #dpTimeUp { border:solid 1px #7cc64b; border-right:solid 1px #7cc64b; height:10px; width:13px; padding:0; background:#7cc64b url(bg.gif) no-repeat -10px 2px; *background:#7cc64b url(bg.gif) no-repeat -11px 1px;
105
- }
106
- /* 时间右边的向下按钮 BUTTON */
107
- .WdateDiv #dpTime #dpTimeDown { border:solid 1px #8db279; border-right:solid 1px #7cc64b; height:10px; width:13px; padding:0; background:#7cc64b url(bg.gif) no-repeat -10px -17px; *background:#4b89c6 url(bg.gif) no-repeat -11px -18px;
108
- }
109
- /****************************
110
- * 其他
111
- ***************************/
112
- .WdateDiv #dpQS { float:left; width:20px; height:20px; margin:3px 3px 0 0; background-image:url(qs.jpg); cursor:pointer; }
113
- .WdateDiv #dpControl { margin-top:3px; text-align:right; }
114
- .WdateDiv .dpButton { width:45px; height:21px; overflow:hidden; background:#4b89c6 url(qs.jpg) repeat-x bottom; color:white; border: solid 1px #5d99cf; *border: solid 1px;
1
+ /*
2
+ * My97 DatePicker 4.7
3
+ * 皮肤名称:Ycloud5d99cf
4
+ * 皮肤作者:风逍云逸 abc123@foxmail.com
5
+ */
6
+
7
+ /* 日期选择容器 DIV */
8
+ .WdateDiv { width:180px; padding:2px; background-color:#fff; border: solid 1px #5d99cf; }/* 最外层边框色*/
9
+ /* 双月日历的宽度 */
10
+ .WdateDiv2{width:360px;}
11
+ .WdateDiv * { font:9pt Arial, Helvetica, sans-serif; }
12
+ /****************************
13
+ * 导航图标 全部是A标签
14
+ ***************************/
15
+ .WdateDiv .NavImg a{ display:block;width:16px; height:16px; cursor:pointer; }
16
+ .WdateDiv .NavImgll a{ float:left;background:url(bg.gif) no-repeat 4px 6px; }
17
+ .WdateDiv .NavImgl a{ float:left;background:url(bg.gif) no-repeat 4px -10px; }
18
+ .WdateDiv .NavImgr a{ float:right;background:url(bg.gif) no-repeat -20px -10px; }
19
+ .WdateDiv .NavImgrr a{ float:right;background:url(bg.gif) no-repeat -20px 6px; }
20
+ /****************************
21
+ * 年份月份相关
22
+ ***************************/
23
+ /* 年份月份栏 DIV */
24
+ .WdateDiv #dpTitle { height:24px; margin-bottom:2px; background:#83a96c url(qs.jpg) repeat-x bottom; }
25
+ /* 年份月份输入框 INPUT */
26
+ .WdateDiv .yminput { width:50px; height:20px; margin-top:2px; border:0px; background:transparent; cursor:pointer; color:white; line-height:14px; text-align:center; }
27
+ /* 年份月份输入框获得焦点时的样式 INPUT */
28
+ .WdateDiv .yminputfocus { width:50px; height:20px; margin-top:2px; border:#939393 1px solid; color:5d99cf; font-weight:bold; line-height:14px; text-align:center; }
29
+ /* 菜单选择框 DIV */
30
+ .WdateDiv .menuSel { z-index:1;position:absolute; display:none; background-color:#FFFFFF; border:#8db279 1px solid; }/* 年月选择菜单的边框色*/
31
+ /* 菜单的样式 TD */
32
+ .WdateDiv .menu { cursor:pointer; background-color:#fff; color:#5d99cf; }
33
+ /* 菜单的mouseover样式 TD */
34
+ .WdateDiv .menuOn { cursor:pointer; color:white; background-color:#8db279; }/* 时间快速选择鼠标移入背景色 */
35
+ /* 菜单无效时的样式 TD */
36
+ .WdateDiv .invalidMenu { color:#aaa; }
37
+ /* 年选择框的偏移 DIV */
38
+ .WdateDiv .YMenu { margin-top:20px; }
39
+ /* 月选择框的偏移 DIV */
40
+ .WdateDiv .MMenu { margin-top:20px; *width:62px;
41
+ }
42
+ /* 时选择框的位置 DIV */
43
+ .WdateDiv .hhMenu { margin:-90px 0 0 26px; }
44
+ /* 分选择框的位置 DIV */
45
+ .WdateDiv .mmMenu { margin:-46px 0 0 26px; }
46
+ /* 秒选择框的位置 DIV */
47
+ .WdateDiv .ssMenu { margin:-24px 0 0 26px; }
48
+ /****************************
49
+ * 周相关
50
+ ***************************/
51
+ .WdateDiv .Wweek { background:#DAF3F5; border-right:#BDEBEE 1px solid; text-align:center; }
52
+ /****************************
53
+ * 星期,日期相关
54
+ ***************************/
55
+ /* 星期栏 TR */
56
+ .WdateDiv .MTitle { background:#8db279; color:white; } /* 星期栏背景色 */
57
+ .WdateDiv .WdayTable2{
58
+ border-collapse:collapse;
59
+ border:#8db279 1px solid; /* 星期栏边框色 */
60
+ }
61
+ .WdateDiv .WdayTable2 table{
62
+ border:0;
63
+ }
64
+ /* 日期栏表格 TABLE */
65
+ .WdateDiv .WdayTable { background:white; border:#8db279 1px solid; color:5d99cf; }/* 日期栏边框色*/
66
+ .WdateDiv .WdayTable td{
67
+ line-height:20px;
68
+ text-align:center;
69
+ }
70
+ /* 日期格的样式 TD */
71
+ .WdateDiv .Wday { cursor:pointer; }
72
+ /* 日期格的mouseover样式 TD */
73
+ .WdateDiv .WdayOn { background-color:#8db279; cursor:pointer; font-size:13px; color:yellow; }/* 日期格鼠标移入背景色 */
74
+ /* 周末日期格的样式 TD */
75
+ .WdateDiv .Wwday { cursor:pointer; color:#bd1f1f; }
76
+ /* 周末日期格的mouseover样式 TD */
77
+ .WdateDiv .WwdayOn { background-color:#8db279; color:yellow; cursor:pointer; font-size:13px; }/* 周末日期格鼠标移入背景色 */
78
+ .WdateDiv .Wtoday { cursor:pointer; color:blue; font-size:13px; }
79
+ .WdateDiv .Wselday { background-color:#8db279; color:yellow; font-size:13px; }/* 周末日期格鼠标移入背景色 */
80
+ .WdateDiv .WspecialDay{ background-color:#EAF330;}
81
+ /* 其他月份的日期 */
82
+ .WdateDiv .WotherDay { cursor:pointer; color:#666; }
83
+ /* 其他月份的日期mouseover样式 */
84
+ .WdateDiv .WotherDayOn { cursor:pointer; color:#666; }
85
+ /* 无效日期的样式,即在日期范围以外日期格的样式,不能选择的日期 */
86
+ .WdateDiv .WinvalidDay { color:#aaa; }
87
+
88
+ /****************************
89
+ * 时间相关
90
+ ***************************/
91
+ /* 时间栏 DIV */
92
+ .WdateDiv #dpTime { margin-top:3px; }
93
+ /* 时间文字 SPAN */
94
+ .WdateDiv #dpTime #dpTimeStr { margin-left:1px; color:green; }
95
+ /* 时间输入框 INPUT */
96
+ .WdateDiv #dpTime input { width:18px; height:16px; border:#5d99cf 1px solid; color:black; line-height:14px; text-align:center; }
97
+ /* 时间 时 INPUT */
98
+ .WdateDiv #dpTime .tB { border-right:0px; }
99
+ /* 时间 分和间隔符 ':' INPUT */
100
+ .WdateDiv #dpTime .tE { border-left:0; border-right:0; }
101
+ /* 时间 秒 INPUT */
102
+ .WdateDiv #dpTime .tm { width:7px; border-left:0; border-right:0; }
103
+ /* 时间右边的向上按钮 BUTTON */
104
+ .WdateDiv #dpTime #dpTimeUp { border:solid 1px #7cc64b; border-right:solid 1px #7cc64b; height:10px; width:13px; padding:0; background:#7cc64b url(bg.gif) no-repeat -10px 2px; *background:#7cc64b url(bg.gif) no-repeat -11px 1px;
105
+ }
106
+ /* 时间右边的向下按钮 BUTTON */
107
+ .WdateDiv #dpTime #dpTimeDown { border:solid 1px #8db279; border-right:solid 1px #7cc64b; height:10px; width:13px; padding:0; background:#7cc64b url(bg.gif) no-repeat -10px -17px; *background:#4b89c6 url(bg.gif) no-repeat -11px -18px;
108
+ }
109
+ /****************************
110
+ * 其他
111
+ ***************************/
112
+ .WdateDiv #dpQS { float:left; width:20px; height:20px; margin:3px 3px 0 0; background-image:url(qs.jpg); cursor:pointer; }
113
+ .WdateDiv #dpControl { margin-top:3px; text-align:right; }
114
+ .WdateDiv .dpButton { width:45px; height:21px; overflow:hidden; background:#4b89c6 url(qs.jpg) repeat-x bottom; color:white; border: solid 1px #5d99cf; *border: solid 1px;
115
115
  line-height:19px; }
@@ -1,181 +1,181 @@
1
- (function($){
2
- $.fn.validationEngineLanguage = function(){
3
- };
4
- $.validationEngineLanguage = {
5
- newLang: function(){
6
- $.validationEngineLanguage.allRules = {
7
- "required": { // Add your regex rules here, you can take telephone as an example
8
- "regex": "none",
9
- "alertText": "* 此处不可空白",
10
- "alertTextCheckboxMultiple": "* 请选择一个项目",
11
- "alertTextCheckboxe": "* 您必须钩选此栏",
12
- "alertTextDateRange": "* 日期范围不可空白"
13
- },
14
- "requiredInFunction": {
15
- "func": function(field, rules, i, options){
16
- return (field.val() == "test") ? true : false;
17
- },
18
- "alertText": "* Field must equal test"
19
- },
20
- "dateRange": {
21
- "regex": "none",
22
- "alertText": "* 无效的 ",
23
- "alertText2": " 日期范围"
24
- },
25
- "dateTimeRange": {
26
- "regex": "none",
27
- "alertText": "* 无效的 ",
28
- "alertText2": " 时间范围"
29
- },
30
- "minSize": {
31
- "regex": "none",
32
- "alertText": "* 最少 ",
33
- "alertText2": " 个字符"
34
- },
35
- "maxSize": {
36
- "regex": "none",
37
- "alertText": "* 最多 ",
38
- "alertText2": " 个字符"
39
- },
40
- "groupRequired": {
41
- "regex": "none",
42
- "alertText": "* 你必需选填其中一个栏位"
43
- },
44
- "min": {
45
- "regex": "none",
46
- "alertText": "* 最小值為 "
47
- },
48
- "max": {
49
- "regex": "none",
50
- "alertText": "* 最大值为 "
51
- },
52
- "past": {
53
- "regex": "none",
54
- "alertText": "* 日期必需早于 "
55
- },
56
- "future": {
57
- "regex": "none",
58
- "alertText": "* 日期必需晚于 "
59
- },
60
- "maxCheckbox": {
61
- "regex": "none",
62
- "alertText": "* 最多选取 ",
63
- "alertText2": " 个项目"
64
- },
65
- "minCheckbox": {
66
- "regex": "none",
67
- "alertText": "* 请选择 ",
68
- "alertText2": " 个项目"
69
- },
70
- "equals": {
71
- "regex": "none",
72
- "alertText": "* 请输入与上面相同的密码"
73
- },
74
- "creditCard": {
75
- "regex": "none",
76
- "alertText": "* 无效的信用卡号码"
77
- },
78
- "phone": {
79
- // credit: jquery.h5validate.js / orefalo
80
- "regex": /^([\+][0-9]{1,3}([ \.\-])?)?([\(][0-9]{1,6}[\)])?([0-9 \.\-]{1,32})(([A-Za-z \:]{1,11})?[0-9]{1,4}?)$/,
81
- "alertText": "* 无效的电话号码"
82
- },
83
- "email": {
84
- // Shamelessly lifted from Scott Gonzalez via the Bassistance Validation plugin http://projects.scottsplayground.com/email_address_validation/
85
- "regex": /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,
86
- "alertText": "* 邮件地址无效"
87
- },
88
- "integer": {
89
- "regex": /^[\-\+]?\d+$/,
90
- "alertText": "* 不是有效的整数"
91
- },
92
- "number": {
93
- // Number, including positive, negative, and floating decimal. credit: orefalo
94
- "regex": /^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
95
- "alertText": "* 无效的数字"
96
- },
97
- "date": {
98
- "regex": /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/,
99
- "alertText": "* 无效的日期,格式必需为 YYYY-MM-DD"
100
- },
101
- "ipv4": {
102
- "regex": /^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
103
- "alertText": "* 无效的 IP 地址"
104
- },
105
- "url": {
106
- "regex": /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
107
- "alertText": "* Invalid URL"
108
- },
109
- "onlyNumberSp": {
110
- "regex": /^[0-9\ ]+$/,
111
- "alertText": "* 只能填数字"
112
- },
113
- "onlyLetterSp": {
114
- "regex": /^[a-zA-Z\ \']+$/,
115
- "alertText": "* 只接受英文字母大小写"
116
- },
117
- "onlyLetterAccentSp":{
118
- "regex": /^[a-z\u00C0-\u017F\ ]+$/i,
119
- "alertText": "* 只接受英文字母大小写"
120
- },
121
- "onlyLetterNumber": {
122
- "regex": /^[0-9a-zA-Z]+$/,
123
- "alertText": "* 不接受特殊字符"
124
- },
125
- // --- CUSTOM RULES -- Those are specific to the demos, they can be removed or changed to your likings
126
- "ajaxUserCall": {
127
- "url": "ajaxValidateFieldUser",
128
- // you may want to pass extra data on the ajax call
129
- "extraData": "name=eric",
130
- "alertText": "* 此名称已被其他人使用",
131
- "alertTextLoad": "* 正在确认名称是否有其他人使用,请稍等。"
132
- },
133
- "ajaxUserCallPhp": {
134
- "url": "phpajax/ajaxValidateFieldUser.php",
135
- // you may want to pass extra data on the ajax call
136
- "extraData": "name=eric",
137
- // if you provide an "alertTextOk", it will show as a green prompt when the field validates
138
- "alertTextOk": "* 此帐号名称可以使用",
139
- "alertText": "* 此名称已被其他人使用",
140
- "alertTextLoad": "* 正在确认帐号名称是否有其他人使用,请稍等。"
141
- },
142
- "ajaxNameCall": {
143
- // remote json service location
144
- "url": "ajaxValidateFieldName",
145
- // error
146
- "alertText": "* 此名称可以使用",
147
- // if you provide an "alertTextOk", it will show as a green prompt when the field validates
148
- "alertTextOk": "* 此名称已被其他人使用",
149
- // speaks by itself
150
- "alertTextLoad": "* 正在确认名称是否有其他人使用,请稍等。"
151
- },
152
- "ajaxNameCallPhp": {
153
- // remote json service location
154
- "url": "phpajax/ajaxValidateFieldName.php",
155
- // error
156
- "alertText": "* 此名称已被其他人使用",
157
- // speaks by itself
158
- "alertTextLoad": "* 正在确认名称是否有其他人使用,请稍等。"
159
- },
160
- "validate2fields": {
161
- "alertText": "* 请输入 HELLO"
162
- },
163
- //tls warning:homegrown not fielded
164
- "dateFormat":{
165
- "regex": /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(?:(?:0?[1-9]|1[0-2])(\/|-)(?:0?[1-9]|1\d|2[0-8]))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?2(\/|-)29)(\/|-)(?:(?:0[48]00|[13579][26]00|[2468][048]00)|(?:\d\d)?(?:0[48]|[2468][048]|[13579][26]))$/,
166
- "alertText": "* 无效的日期格式"
167
- },
168
- //tls warning:homegrown not fielded
169
- "dateTimeFormat": {
170
- "regex": /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1}$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^((1[012]|0?[1-9]){1}\/(0?[1-9]|[12][0-9]|3[01]){1}\/\d{2,4}\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1})$/,
171
- "alertText": "* 无效的日期或时间格式",
172
- "alertText2": "可接受的格式: ",
173
- "alertText3": "mm/dd/yyyy hh:mm:ss AM|PM 或 ",
174
- "alertText4": "yyyy-mm-dd hh:mm:ss AM|PM"
175
- }
176
- };
177
-
178
- }
179
- };
180
- $.validationEngineLanguage.newLang();
181
- })(jQuery);
1
+ (function($){
2
+ $.fn.validationEngineLanguage = function(){
3
+ };
4
+ $.validationEngineLanguage = {
5
+ newLang: function(){
6
+ $.validationEngineLanguage.allRules = {
7
+ "required": { // Add your regex rules here, you can take telephone as an example
8
+ "regex": "none",
9
+ "alertText": "* 此处不可空白",
10
+ "alertTextCheckboxMultiple": "* 请选择一个项目",
11
+ "alertTextCheckboxe": "* 您必须钩选此栏",
12
+ "alertTextDateRange": "* 日期范围不可空白"
13
+ },
14
+ "requiredInFunction": {
15
+ "func": function(field, rules, i, options){
16
+ return (field.val() == "test") ? true : false;
17
+ },
18
+ "alertText": "* Field must equal test"
19
+ },
20
+ "dateRange": {
21
+ "regex": "none",
22
+ "alertText": "* 无效的 ",
23
+ "alertText2": " 日期范围"
24
+ },
25
+ "dateTimeRange": {
26
+ "regex": "none",
27
+ "alertText": "* 无效的 ",
28
+ "alertText2": " 时间范围"
29
+ },
30
+ "minSize": {
31
+ "regex": "none",
32
+ "alertText": "* 最少 ",
33
+ "alertText2": " 个字符"
34
+ },
35
+ "maxSize": {
36
+ "regex": "none",
37
+ "alertText": "* 最多 ",
38
+ "alertText2": " 个字符"
39
+ },
40
+ "groupRequired": {
41
+ "regex": "none",
42
+ "alertText": "* 你必需选填其中一个栏位"
43
+ },
44
+ "min": {
45
+ "regex": "none",
46
+ "alertText": "* 最小值為 "
47
+ },
48
+ "max": {
49
+ "regex": "none",
50
+ "alertText": "* 最大值为 "
51
+ },
52
+ "past": {
53
+ "regex": "none",
54
+ "alertText": "* 日期必需早于 "
55
+ },
56
+ "future": {
57
+ "regex": "none",
58
+ "alertText": "* 日期必需晚于 "
59
+ },
60
+ "maxCheckbox": {
61
+ "regex": "none",
62
+ "alertText": "* 最多选取 ",
63
+ "alertText2": " 个项目"
64
+ },
65
+ "minCheckbox": {
66
+ "regex": "none",
67
+ "alertText": "* 请选择 ",
68
+ "alertText2": " 个项目"
69
+ },
70
+ "equals": {
71
+ "regex": "none",
72
+ "alertText": "* 请输入与上面相同的密码"
73
+ },
74
+ "creditCard": {
75
+ "regex": "none",
76
+ "alertText": "* 无效的信用卡号码"
77
+ },
78
+ "phone": {
79
+ // credit: jquery.h5validate.js / orefalo
80
+ "regex": /^([\+][0-9]{1,3}([ \.\-])?)?([\(][0-9]{1,6}[\)])?([0-9 \.\-]{1,32})(([A-Za-z \:]{1,11})?[0-9]{1,4}?)$/,
81
+ "alertText": "* 无效的电话号码"
82
+ },
83
+ "email": {
84
+ // Shamelessly lifted from Scott Gonzalez via the Bassistance Validation plugin http://projects.scottsplayground.com/email_address_validation/
85
+ "regex": /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,
86
+ "alertText": "* 邮件地址无效"
87
+ },
88
+ "integer": {
89
+ "regex": /^[\-\+]?\d+$/,
90
+ "alertText": "* 不是有效的整数"
91
+ },
92
+ "number": {
93
+ // Number, including positive, negative, and floating decimal. credit: orefalo
94
+ "regex": /^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
95
+ "alertText": "* 无效的数字"
96
+ },
97
+ "date": {
98
+ "regex": /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/,
99
+ "alertText": "* 无效的日期,格式必需为 YYYY-MM-DD"
100
+ },
101
+ "ipv4": {
102
+ "regex": /^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
103
+ "alertText": "* 无效的 IP 地址"
104
+ },
105
+ "url": {
106
+ "regex": /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
107
+ "alertText": "* Invalid URL"
108
+ },
109
+ "onlyNumberSp": {
110
+ "regex": /^[0-9\ ]+$/,
111
+ "alertText": "* 只能填数字"
112
+ },
113
+ "onlyLetterSp": {
114
+ "regex": /^[a-zA-Z\ \']+$/,
115
+ "alertText": "* 只接受英文字母大小写"
116
+ },
117
+ "onlyLetterAccentSp":{
118
+ "regex": /^[a-z\u00C0-\u017F\ ]+$/i,
119
+ "alertText": "* 只接受英文字母大小写"
120
+ },
121
+ "onlyLetterNumber": {
122
+ "regex": /^[0-9a-zA-Z]+$/,
123
+ "alertText": "* 不接受特殊字符"
124
+ },
125
+ // --- CUSTOM RULES -- Those are specific to the demos, they can be removed or changed to your likings
126
+ "ajaxUserCall": {
127
+ "url": "ajaxValidateFieldUser",
128
+ // you may want to pass extra data on the ajax call
129
+ "extraData": "name=eric",
130
+ "alertText": "* 此名称已被其他人使用",
131
+ "alertTextLoad": "* 正在确认名称是否有其他人使用,请稍等。"
132
+ },
133
+ "ajaxUserCallPhp": {
134
+ "url": "phpajax/ajaxValidateFieldUser.php",
135
+ // you may want to pass extra data on the ajax call
136
+ "extraData": "name=eric",
137
+ // if you provide an "alertTextOk", it will show as a green prompt when the field validates
138
+ "alertTextOk": "* 此帐号名称可以使用",
139
+ "alertText": "* 此名称已被其他人使用",
140
+ "alertTextLoad": "* 正在确认帐号名称是否有其他人使用,请稍等。"
141
+ },
142
+ "ajaxNameCall": {
143
+ // remote json service location
144
+ "url": "ajaxValidateFieldName",
145
+ // error
146
+ "alertText": "* 此名称可以使用",
147
+ // if you provide an "alertTextOk", it will show as a green prompt when the field validates
148
+ "alertTextOk": "* 此名称已被其他人使用",
149
+ // speaks by itself
150
+ "alertTextLoad": "* 正在确认名称是否有其他人使用,请稍等。"
151
+ },
152
+ "ajaxNameCallPhp": {
153
+ // remote json service location
154
+ "url": "phpajax/ajaxValidateFieldName.php",
155
+ // error
156
+ "alertText": "* 此名称已被其他人使用",
157
+ // speaks by itself
158
+ "alertTextLoad": "* 正在确认名称是否有其他人使用,请稍等。"
159
+ },
160
+ "validate2fields": {
161
+ "alertText": "* 请输入 HELLO"
162
+ },
163
+ //tls warning:homegrown not fielded
164
+ "dateFormat":{
165
+ "regex": /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(?:(?:0?[1-9]|1[0-2])(\/|-)(?:0?[1-9]|1\d|2[0-8]))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?2(\/|-)29)(\/|-)(?:(?:0[48]00|[13579][26]00|[2468][048]00)|(?:\d\d)?(?:0[48]|[2468][048]|[13579][26]))$/,
166
+ "alertText": "* 无效的日期格式"
167
+ },
168
+ //tls warning:homegrown not fielded
169
+ "dateTimeFormat": {
170
+ "regex": /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1}$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^((1[012]|0?[1-9]){1}\/(0?[1-9]|[12][0-9]|3[01]){1}\/\d{2,4}\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1})$/,
171
+ "alertText": "* 无效的日期或时间格式",
172
+ "alertText2": "可接受的格式: ",
173
+ "alertText3": "mm/dd/yyyy hh:mm:ss AM|PM 或 ",
174
+ "alertText4": "yyyy-mm-dd hh:mm:ss AM|PM"
175
+ }
176
+ };
177
+
178
+ }
179
+ };
180
+ $.validationEngineLanguage.newLang();
181
+ })(jQuery);