formvalidation-rails 0.6.1.0

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 (62) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +2 -0
  3. data/LICENSE +21 -0
  4. data/README.md +45 -0
  5. data/formvalidation-rails.gemspec +22 -0
  6. data/lib/bootstrap-validator-rails.rb +6 -0
  7. data/lib/formvalidation-rails/engine.rb +6 -0
  8. data/lib/formvalidation-rails/version.rb +6 -0
  9. data/vendor/assets/javascripts/formvalidation.js +9314 -0
  10. data/vendor/assets/javascripts/formvalidation.min.js +13 -0
  11. data/vendor/assets/javascripts/formvalidation/framework/bootstrap.js +280 -0
  12. data/vendor/assets/javascripts/formvalidation/framework/bootstrap.min.js +10 -0
  13. data/vendor/assets/javascripts/formvalidation/framework/foundation.js +163 -0
  14. data/vendor/assets/javascripts/formvalidation/framework/foundation.min.js +10 -0
  15. data/vendor/assets/javascripts/formvalidation/framework/pure.js +64 -0
  16. data/vendor/assets/javascripts/formvalidation/framework/pure.min.js +10 -0
  17. data/vendor/assets/javascripts/formvalidation/framework/semantic.js +163 -0
  18. data/vendor/assets/javascripts/formvalidation/framework/semantic.min.js +10 -0
  19. data/vendor/assets/javascripts/formvalidation/framework/uikit.js +165 -0
  20. data/vendor/assets/javascripts/formvalidation/framework/uikit.min.js +10 -0
  21. data/vendor/assets/javascripts/formvalidation/language/ar_MA.js +379 -0
  22. data/vendor/assets/javascripts/formvalidation/language/be_FR.js +379 -0
  23. data/vendor/assets/javascripts/formvalidation/language/be_NL.js +379 -0
  24. data/vendor/assets/javascripts/formvalidation/language/bg_BG.js +379 -0
  25. data/vendor/assets/javascripts/formvalidation/language/ca_ES.js +379 -0
  26. data/vendor/assets/javascripts/formvalidation/language/cs_CZ.js +379 -0
  27. data/vendor/assets/javascripts/formvalidation/language/da_DK.js +379 -0
  28. data/vendor/assets/javascripts/formvalidation/language/de_DE.js +379 -0
  29. data/vendor/assets/javascripts/formvalidation/language/en_US.js +379 -0
  30. data/vendor/assets/javascripts/formvalidation/language/es_CL.js +379 -0
  31. data/vendor/assets/javascripts/formvalidation/language/es_ES.js +379 -0
  32. data/vendor/assets/javascripts/formvalidation/language/eu_ES.js +379 -0
  33. data/vendor/assets/javascripts/formvalidation/language/fa_IR.js +379 -0
  34. data/vendor/assets/javascripts/formvalidation/language/fi_FI.js +379 -0
  35. data/vendor/assets/javascripts/formvalidation/language/fr_FR.js +379 -0
  36. data/vendor/assets/javascripts/formvalidation/language/gr_EL.js +379 -0
  37. data/vendor/assets/javascripts/formvalidation/language/he_IL.js +379 -0
  38. data/vendor/assets/javascripts/formvalidation/language/hi_IN.js +379 -0
  39. data/vendor/assets/javascripts/formvalidation/language/hu_HU.js +379 -0
  40. data/vendor/assets/javascripts/formvalidation/language/id_ID.js +379 -0
  41. data/vendor/assets/javascripts/formvalidation/language/it_IT.js +379 -0
  42. data/vendor/assets/javascripts/formvalidation/language/ja_JP.js +379 -0
  43. data/vendor/assets/javascripts/formvalidation/language/nl_NL.js +379 -0
  44. data/vendor/assets/javascripts/formvalidation/language/no_NO.js +379 -0
  45. data/vendor/assets/javascripts/formvalidation/language/pl_PL.js +379 -0
  46. data/vendor/assets/javascripts/formvalidation/language/pt_BR.js +379 -0
  47. data/vendor/assets/javascripts/formvalidation/language/pt_PT.js +379 -0
  48. data/vendor/assets/javascripts/formvalidation/language/ro_RO.js +379 -0
  49. data/vendor/assets/javascripts/formvalidation/language/ru_RU.js +379 -0
  50. data/vendor/assets/javascripts/formvalidation/language/sk_SK.js +379 -0
  51. data/vendor/assets/javascripts/formvalidation/language/sq_AL.js +379 -0
  52. data/vendor/assets/javascripts/formvalidation/language/sr_RS.js +379 -0
  53. data/vendor/assets/javascripts/formvalidation/language/sv_SE.js +379 -0
  54. data/vendor/assets/javascripts/formvalidation/language/th_TH.js +379 -0
  55. data/vendor/assets/javascripts/formvalidation/language/tr_TR.js +379 -0
  56. data/vendor/assets/javascripts/formvalidation/language/ua_UA.js +379 -0
  57. data/vendor/assets/javascripts/formvalidation/language/vi_VN.js +379 -0
  58. data/vendor/assets/javascripts/formvalidation/language/zh_CN.js +379 -0
  59. data/vendor/assets/javascripts/formvalidation/language/zh_TW.js +379 -0
  60. data/vendor/assets/stylesheets/formvalidation.css +164 -0
  61. data/vendor/assets/stylesheets/formvalidation.min.css +1 -0
  62. metadata +148 -0
@@ -0,0 +1,10 @@
1
+ /*!
2
+ * FormValidation (http://formvalidation.io)
3
+ * The best jQuery plugin to validate form fields. Support Bootstrap, Foundation, Pure, SemanticUI, UIKit and custom frameworks
4
+ *
5
+ * @version v0.6.2-dev, built on 2015-02-24 10:46:42 PM
6
+ * @author https://twitter.com/nghuuphuoc
7
+ * @copyright (c) 2013 - 2015 Nguyen Huu Phuoc
8
+ * @license http://formvalidation.io/license/
9
+ */
10
+ !function(a){FormValidation.Framework.Foundation=function(b,c){c=a.extend(!0,{button:{selector:'[type="submit"]',disabled:"disabled"},err:{clazz:"error",parent:"^.*((small|medium|large)-[0-9]+)\\s.*(columns).*$"},icon:{valid:null,invalid:null,validating:null,feedback:"fv-control-feedback"},row:{selector:".row",valid:"fv-has-success",invalid:"error",feedback:"fv-has-feedback"}},c),FormValidation.Base.apply(this,[b,c])},FormValidation.Framework.Foundation.prototype=a.extend({},FormValidation.Base.prototype,{_fixIcon:function(a,b){var c=this._namespace,d=a.attr("type"),e=a.attr("data-"+c+"-field"),f=this.options.fields[e].row||this.options.row.selector,g=a.closest(f);if("checkbox"===d||"radio"===d){var h=b.next();h.is("label")&&b.insertAfter(h)}0===g.find("label").length&&b.addClass("fv-icon-no-label")},_createTooltip:function(a,b,c){var d=this,e=a.data("fv.icon");e&&(e.attr("title",b).css({cursor:"pointer"}).off("mouseenter.container.fv focusin.container.fv").on("mouseenter.container.fv",function(){d._showTooltip(a,c)}).off("mouseleave.container.fv focusout.container.fv").on("mouseleave.container.fv focusout.container.fv",function(){d._hideTooltip(a,c)}),Foundation.libs.tooltip.create(e),e.data("fv.foundation.tooltip",e))},_destroyTooltip:function(a){var b=a.data("fv.icon");if(b){b.css({cursor:""});var c=b.data("fv.foundation.tooltip");c&&(c.off(".fndtn.tooltip"),Foundation.libs.tooltip.hide(c),b.removeData("fv.foundation.tooltip"))}},_hideTooltip:function(a){var b=a.data("fv.icon");if(b){b.css({cursor:""});var c=b.data("fv.foundation.tooltip");c&&Foundation.libs.tooltip.hide(c)}},_showTooltip:function(a){var b=a.data("fv.icon");if(b){var c=b.data("fv.foundation.tooltip");c&&(b.css({cursor:"pointer"}),Foundation.libs.tooltip.show(c))}}})}(jQuery);
@@ -0,0 +1,64 @@
1
+ /*!
2
+ * FormValidation (http://formvalidation.io)
3
+ * The best jQuery plugin to validate form fields. Support Bootstrap, Foundation, Pure, SemanticUI, UIKit and custom frameworks
4
+ *
5
+ * @version v0.6.2-dev, built on 2015-02-24 10:46:41 PM
6
+ * @author https://twitter.com/nghuuphuoc
7
+ * @copyright (c) 2013 - 2015 Nguyen Huu Phuoc
8
+ * @license http://formvalidation.io/license/
9
+ */
10
+ /**
11
+ * This class supports validating Pure framework (http://purecss.io/)
12
+ */
13
+ (function($) {
14
+ FormValidation.Framework.Pure = function(element, options) {
15
+ options = $.extend(true, {
16
+ button: {
17
+ selector: '[type="submit"]',
18
+ // The class of disabled button
19
+ // http://purecss.io/buttons/#disabled-buttons
20
+ disabled: 'pure-button-disabled'
21
+ },
22
+ err: {
23
+ clazz: 'fv-help-block',
24
+ parent: '^.*pure-control-group.*$'
25
+ },
26
+ // Pure doesn't support feedback icon
27
+ icon: {
28
+ valid: null,
29
+ invalid: null,
30
+ validating: null,
31
+ feedback: 'fv-control-feedback'
32
+ },
33
+ row: {
34
+ // http://purecss.io/forms/#aligned-form
35
+ selector: '.pure-control-group',
36
+ valid: 'fv-has-success',
37
+ invalid: 'fv-has-error',
38
+ feedback: 'fv-has-feedback'
39
+ }
40
+ }, options);
41
+
42
+ FormValidation.Base.apply(this, [element, options]);
43
+ };
44
+
45
+ FormValidation.Framework.Pure.prototype = $.extend({}, FormValidation.Base.prototype, {
46
+ /**
47
+ * Specific framework might need to adjust the icon position
48
+ *
49
+ * @param {jQuery} $field The field element
50
+ * @param {jQuery} $icon The icon element
51
+ */
52
+ _fixIcon: function($field, $icon) {
53
+ var ns = this._namespace,
54
+ type = $field.attr('type'),
55
+ field = $field.attr('data-' + ns + '-field'),
56
+ row = this.options.fields[field].row || this.options.row.selector,
57
+ $parent = $field.closest(row);
58
+
59
+ if ($parent.find('label').length === 0) {
60
+ $icon.addClass('fv-icon-no-label');
61
+ }
62
+ }
63
+ });
64
+ }(jQuery));
@@ -0,0 +1,10 @@
1
+ /*!
2
+ * FormValidation (http://formvalidation.io)
3
+ * The best jQuery plugin to validate form fields. Support Bootstrap, Foundation, Pure, SemanticUI, UIKit and custom frameworks
4
+ *
5
+ * @version v0.6.2-dev, built on 2015-02-24 10:46:42 PM
6
+ * @author https://twitter.com/nghuuphuoc
7
+ * @copyright (c) 2013 - 2015 Nguyen Huu Phuoc
8
+ * @license http://formvalidation.io/license/
9
+ */
10
+ !function(a){FormValidation.Framework.Pure=function(b,c){c=a.extend(!0,{button:{selector:'[type="submit"]',disabled:"pure-button-disabled"},err:{clazz:"fv-help-block",parent:"^.*pure-control-group.*$"},icon:{valid:null,invalid:null,validating:null,feedback:"fv-control-feedback"},row:{selector:".pure-control-group",valid:"fv-has-success",invalid:"fv-has-error",feedback:"fv-has-feedback"}},c),FormValidation.Base.apply(this,[b,c])},FormValidation.Framework.Pure.prototype=a.extend({},FormValidation.Base.prototype,{_fixIcon:function(a,b){var c=this._namespace,d=(a.attr("type"),a.attr("data-"+c+"-field")),e=this.options.fields[d].row||this.options.row.selector,f=a.closest(e);0===f.find("label").length&&b.addClass("fv-icon-no-label")}})}(jQuery);
@@ -0,0 +1,163 @@
1
+ /*!
2
+ * FormValidation (http://formvalidation.io)
3
+ * The best jQuery plugin to validate form fields. Support Bootstrap, Foundation, Pure, SemanticUI, UIKit and custom frameworks
4
+ *
5
+ * @version v0.6.2-dev, built on 2015-02-24 10:46:41 PM
6
+ * @author https://twitter.com/nghuuphuoc
7
+ * @copyright (c) 2013 - 2015 Nguyen Huu Phuoc
8
+ * @license http://formvalidation.io/license/
9
+ */
10
+ /**
11
+ * This class supports validating SemanticUI form (http://semantic-ui.com/)
12
+ */
13
+ (function($) {
14
+ FormValidation.Framework.Semantic = function(element, options) {
15
+ options = $.extend(true, {
16
+ button: {
17
+ selector: '[type="submit"]',
18
+ // CSS class of disabled button
19
+ // http://semantic-ui.com/elements/button.html#disabled
20
+ disabled: 'disabled'
21
+ },
22
+ control: {
23
+ valid: '',
24
+ invalid: ''
25
+ },
26
+ err: {
27
+ // http://semantic-ui.com/elements/label.html#pointing
28
+ clazz: 'ui red pointing label transition',
29
+ parent: '^.*(field|column).*$'
30
+ },
31
+ // When using feedback icon, the input must place inside 'ui input icon' element
32
+ // <div class="ui input icon">
33
+ // <input type="text" />
34
+ // </div>
35
+ // See http://semantic-ui.com/elements/input.html#icon
36
+ icon: {
37
+ // http://semantic-ui.com/elements/icon.html
38
+ valid: null, // 'checkmark icon'
39
+ invalid: null, // 'remove icon'
40
+ validating: null, // 'refresh icon'
41
+ feedback: 'fv-control-feedback'
42
+ },
43
+ row: {
44
+ // http://semantic-ui.com/collections/form.html
45
+ selector: '.field',
46
+ valid: 'fv-has-success',
47
+ invalid: 'error',
48
+ feedback: 'fv-has-feedback'
49
+ }
50
+ }, options);
51
+
52
+ FormValidation.Base.apply(this, [element, options]);
53
+ };
54
+
55
+ FormValidation.Framework.Semantic.prototype = $.extend({}, FormValidation.Base.prototype, {
56
+ /**
57
+ * Specific framework might need to adjust the icon position
58
+ *
59
+ * @param {jQuery} $field The field element
60
+ * @param {jQuery} $icon The icon element
61
+ */
62
+ _fixIcon: function($field, $icon) {
63
+ var type = $field.attr('type');
64
+ if ('checkbox' === type || 'radio' === type) {
65
+ var $fieldParent = $field.parent();
66
+ if ($fieldParent.hasClass(type)) {
67
+ $icon.insertAfter($fieldParent);
68
+ }
69
+ }
70
+ },
71
+
72
+ /**
73
+ * Create a tooltip or popover
74
+ * It will be shown when focusing on the field
75
+ *
76
+ * @param {jQuery} $field The field element
77
+ * @param {String} message The message
78
+ * @param {String} type Can be 'tooltip' or 'popover'
79
+ */
80
+ _createTooltip: function($field, message, type) {
81
+ var $icon = $field.data('fv.icon');
82
+ if ($icon) {
83
+ // Remove the popup if it's already exists
84
+ if ($icon.popup('exists')) {
85
+ $icon.popup('remove popup')
86
+ .popup('destroy');
87
+ }
88
+
89
+ // http://semantic-ui.com/modules/popup.html
90
+ switch (type) {
91
+ case 'popover':
92
+ $icon
93
+ .css({
94
+ 'cursor': 'pointer'
95
+ })
96
+ .popup({
97
+ content: message,
98
+ position: 'top center'
99
+ });
100
+ break;
101
+
102
+ case 'tooltip':
103
+ /* falls through */
104
+ default:
105
+ $icon
106
+ .css({
107
+ 'cursor': 'pointer'
108
+ })
109
+ .popup({
110
+ content: message,
111
+ position: 'top center',
112
+ variation: 'inverted'
113
+ });
114
+ break;
115
+ }
116
+ }
117
+ },
118
+
119
+ /**
120
+ * Destroy the tooltip or popover
121
+ *
122
+ * @param {jQuery} $field The field element
123
+ * @param {String} type Can be 'tooltip' or 'popover'
124
+ */
125
+ _destroyTooltip: function($field, type) {
126
+ var $icon = $field.data('fv.icon');
127
+ if ($icon && $icon.popup('exists')) {
128
+ $icon
129
+ .css({
130
+ 'cursor': ''
131
+ })
132
+ .popup('remove popup')
133
+ .popup('destroy');
134
+ }
135
+ },
136
+
137
+ /**
138
+ * Hide a tooltip or popover
139
+ *
140
+ * @param {jQuery} $field The field element
141
+ * @param {String} type Can be 'tooltip' or 'popover'
142
+ */
143
+ _hideTooltip: function($field, type) {
144
+ var $icon = $field.data('fv.icon');
145
+ if ($icon) {
146
+ $icon.popup('hide');
147
+ }
148
+ },
149
+
150
+ /**
151
+ * Show a tooltip or popover
152
+ *
153
+ * @param {jQuery} $field The field element
154
+ * @param {String} type Can be 'tooltip' or 'popover'
155
+ */
156
+ _showTooltip: function($field, type) {
157
+ var $icon = $field.data('fv.icon');
158
+ if ($icon) {
159
+ $icon.popup('show');
160
+ }
161
+ }
162
+ });
163
+ }(jQuery));
@@ -0,0 +1,10 @@
1
+ /*!
2
+ * FormValidation (http://formvalidation.io)
3
+ * The best jQuery plugin to validate form fields. Support Bootstrap, Foundation, Pure, SemanticUI, UIKit and custom frameworks
4
+ *
5
+ * @version v0.6.2-dev, built on 2015-02-24 10:46:42 PM
6
+ * @author https://twitter.com/nghuuphuoc
7
+ * @copyright (c) 2013 - 2015 Nguyen Huu Phuoc
8
+ * @license http://formvalidation.io/license/
9
+ */
10
+ !function(a){FormValidation.Framework.Semantic=function(b,c){c=a.extend(!0,{button:{selector:'[type="submit"]',disabled:"disabled"},control:{valid:"",invalid:""},err:{clazz:"ui red pointing label transition",parent:"^.*(field|column).*$"},icon:{valid:null,invalid:null,validating:null,feedback:"fv-control-feedback"},row:{selector:".field",valid:"fv-has-success",invalid:"error",feedback:"fv-has-feedback"}},c),FormValidation.Base.apply(this,[b,c])},FormValidation.Framework.Semantic.prototype=a.extend({},FormValidation.Base.prototype,{_fixIcon:function(a,b){var c=a.attr("type");if("checkbox"===c||"radio"===c){var d=a.parent();d.hasClass(c)&&b.insertAfter(d)}},_createTooltip:function(a,b,c){var d=a.data("fv.icon");if(d)switch(d.popup("exists")&&d.popup("remove popup").popup("destroy"),c){case"popover":d.css({cursor:"pointer"}).popup({content:b,position:"top center"});break;case"tooltip":default:d.css({cursor:"pointer"}).popup({content:b,position:"top center",variation:"inverted"})}},_destroyTooltip:function(a){var b=a.data("fv.icon");b&&b.popup("exists")&&b.css({cursor:""}).popup("remove popup").popup("destroy")},_hideTooltip:function(a){var b=a.data("fv.icon");b&&b.popup("hide")},_showTooltip:function(a){var b=a.data("fv.icon");b&&b.popup("show")}})}(jQuery);
@@ -0,0 +1,165 @@
1
+ /*!
2
+ * FormValidation (http://formvalidation.io)
3
+ * The best jQuery plugin to validate form fields. Support Bootstrap, Foundation, Pure, SemanticUI, UIKit and custom frameworks
4
+ *
5
+ * @version v0.6.2-dev, built on 2015-02-24 10:46:41 PM
6
+ * @author https://twitter.com/nghuuphuoc
7
+ * @copyright (c) 2013 - 2015 Nguyen Huu Phuoc
8
+ * @license http://formvalidation.io/license/
9
+ */
10
+ /**
11
+ * This class supports validating UIKit form (http://getuikit.com/)
12
+ */
13
+ (function($) {
14
+ FormValidation.Framework.Uikit = function(element, options) {
15
+ options = $.extend(true, {
16
+ button: {
17
+ selector: '[type="submit"]',
18
+ // The class for disabled button
19
+ // http://getuikit.com/docs/button.html
20
+ disabled: 'disabled'
21
+ },
22
+ control: {
23
+ valid: 'uk-form-success',
24
+ invalid: 'uk-form-danger'
25
+ },
26
+ err: {
27
+ // http://getuikit.com/docs/text.html#text-styles
28
+ clazz: 'uk-text-danger',
29
+ parent: '^.*(uk-form-controls|uk-width-[\\d+]-[\\d+]).*$'
30
+ },
31
+ // UIKit doesn't support feedback icon
32
+ icon: {
33
+ valid: null,
34
+ invalid: null,
35
+ validating: null,
36
+ feedback: 'fv-control-feedback'
37
+ },
38
+ row: {
39
+ // http://getuikit.com/docs/form.html
40
+ selector: '.uk-form-row',
41
+ valid: 'fv-has-success',
42
+ invalid: 'fv-has-error',
43
+ feedback: 'fv-has-feedback'
44
+ }
45
+ }, options);
46
+
47
+ FormValidation.Base.apply(this, [element, options]);
48
+ };
49
+
50
+ FormValidation.Framework.Uikit.prototype = $.extend({}, FormValidation.Base.prototype, {
51
+ /**
52
+ * Specific framework might need to adjust the icon position
53
+ *
54
+ * @param {jQuery} $field The field element
55
+ * @param {jQuery} $icon The icon element
56
+ */
57
+ _fixIcon: function($field, $icon) {
58
+ var ns = this._namespace,
59
+ type = $field.attr('type'),
60
+ field = $field.attr('data-' + ns + '-field'),
61
+ row = this.options.fields[field].row || this.options.row.selector,
62
+ $parent = $field.closest(row);
63
+
64
+ if ('checkbox' === type || 'radio' === type) {
65
+ var $fieldParent = $field.parent();
66
+ if ($fieldParent.is('label')) {
67
+ $icon.insertAfter($fieldParent);
68
+ }
69
+ }
70
+
71
+ if ($parent.find('label').length === 0) {
72
+ $icon.addClass('fv-icon-no-label');
73
+ }
74
+ },
75
+
76
+ /**
77
+ * Create a tooltip or popover
78
+ * It will be shown when focusing on the field
79
+ *
80
+ * @param {jQuery} $field The field element
81
+ * @param {String} message The message
82
+ * @param {String} type Can be 'tooltip' or 'popover'
83
+ */
84
+ _createTooltip: function($field, message, type) {
85
+ var $icon = $field.data('fv.icon');
86
+ if ($icon) {
87
+ // Remove the tooltip if it's already exists
88
+ if ($icon.data('tooltip')) {
89
+ $icon.data('tooltip').off();
90
+ $icon.removeData('tooltip');
91
+ }
92
+
93
+ $icon
94
+ .attr('title', message)
95
+ .css({
96
+ 'cursor': 'pointer'
97
+ });
98
+
99
+ new $.UIkit.tooltip($icon);
100
+ // UIKit auto set the 'tooltip' data for the element
101
+ // so I can retrieve the tooltip later via $icon.data('tooltip')
102
+ }
103
+ },
104
+
105
+ /**
106
+ * Destroy the tooltip or popover
107
+ *
108
+ * @param {jQuery} $field The field element
109
+ * @param {String} type Can be 'tooltip' or 'popover'
110
+ */
111
+ _destroyTooltip: function($field, type) {
112
+ var $icon = $field.data('fv.icon');
113
+ if ($icon) {
114
+ var tooltip = $icon.data('tooltip');
115
+ if (tooltip) {
116
+ tooltip.hide();
117
+ tooltip.off();
118
+ $icon.off('focus mouseenter')
119
+ .removeData('tooltip');
120
+ }
121
+ $icon.css({
122
+ 'cursor': ''
123
+ });
124
+ }
125
+ },
126
+
127
+ /**
128
+ * Hide a tooltip or popover
129
+ *
130
+ * @param {jQuery} $field The field element
131
+ * @param {String} type Can be 'tooltip' or 'popover'
132
+ */
133
+ _hideTooltip: function($field, type) {
134
+ var $icon = $field.data('fv.icon');
135
+ if ($icon) {
136
+ var tooltip = $icon.data('tooltip');
137
+ if (tooltip) {
138
+ tooltip.hide();
139
+ }
140
+ $icon.css({
141
+ 'cursor': ''
142
+ });
143
+ }
144
+ },
145
+
146
+ /**
147
+ * Show a tooltip or popover
148
+ *
149
+ * @param {jQuery} $field The field element
150
+ * @param {String} type Can be 'tooltip' or 'popover'
151
+ */
152
+ _showTooltip: function($field, type) {
153
+ var $icon = $field.data('fv.icon');
154
+ if ($icon) {
155
+ $icon.css({
156
+ 'cursor': 'pointer'
157
+ });
158
+ var tooltip = $icon.data('tooltip');
159
+ if (tooltip) {
160
+ tooltip.show();
161
+ }
162
+ }
163
+ }
164
+ });
165
+ }(jQuery));
@@ -0,0 +1,10 @@
1
+ /*!
2
+ * FormValidation (http://formvalidation.io)
3
+ * The best jQuery plugin to validate form fields. Support Bootstrap, Foundation, Pure, SemanticUI, UIKit and custom frameworks
4
+ *
5
+ * @version v0.6.2-dev, built on 2015-02-24 10:46:42 PM
6
+ * @author https://twitter.com/nghuuphuoc
7
+ * @copyright (c) 2013 - 2015 Nguyen Huu Phuoc
8
+ * @license http://formvalidation.io/license/
9
+ */
10
+ !function(a){FormValidation.Framework.Uikit=function(b,c){c=a.extend(!0,{button:{selector:'[type="submit"]',disabled:"disabled"},control:{valid:"uk-form-success",invalid:"uk-form-danger"},err:{clazz:"uk-text-danger",parent:"^.*(uk-form-controls|uk-width-[\\d+]-[\\d+]).*$"},icon:{valid:null,invalid:null,validating:null,feedback:"fv-control-feedback"},row:{selector:".uk-form-row",valid:"fv-has-success",invalid:"fv-has-error",feedback:"fv-has-feedback"}},c),FormValidation.Base.apply(this,[b,c])},FormValidation.Framework.Uikit.prototype=a.extend({},FormValidation.Base.prototype,{_fixIcon:function(a,b){var c=this._namespace,d=a.attr("type"),e=a.attr("data-"+c+"-field"),f=this.options.fields[e].row||this.options.row.selector,g=a.closest(f);if("checkbox"===d||"radio"===d){var h=a.parent();h.is("label")&&b.insertAfter(h)}0===g.find("label").length&&b.addClass("fv-icon-no-label")},_createTooltip:function(b,c){var d=b.data("fv.icon");d&&(d.data("tooltip")&&(d.data("tooltip").off(),d.removeData("tooltip")),d.attr("title",c).css({cursor:"pointer"}),new a.UIkit.tooltip(d))},_destroyTooltip:function(a){var b=a.data("fv.icon");if(b){var c=b.data("tooltip");c&&(c.hide(),c.off(),b.off("focus mouseenter").removeData("tooltip")),b.css({cursor:""})}},_hideTooltip:function(a){var b=a.data("fv.icon");if(b){var c=b.data("tooltip");c&&c.hide(),b.css({cursor:""})}},_showTooltip:function(a){var b=a.data("fv.icon");if(b){b.css({cursor:"pointer"});var c=b.data("tooltip");c&&c.show()}}})}(jQuery);
@@ -0,0 +1,379 @@
1
+ (function ($) {
2
+ /**
3
+ * Arabic language package
4
+ * Translated by @Arkni
5
+ */
6
+ FormValidation.I18n = $.extend(true, FormValidation.I18n, {
7
+ 'ar_MA': {
8
+ base64: {
9
+ 'default': 'الرجاء إدخال قيمة مشفرة طبقا للقاعدة 64.'
10
+ },
11
+ between: {
12
+ 'default': 'الرجاء إدخال قيمة بين %s و %s .',
13
+ notInclusive: 'الرجاء إدخال قيمة بين %s و %s بدقة.'
14
+ },
15
+ bic: {
16
+ 'default': 'الرجاء إدخال رقم BIC صالح.'
17
+ },
18
+ callback: {
19
+ 'default': 'الرجاء إدخال قيمة صالحة.'
20
+ },
21
+ choice: {
22
+ 'default': 'الرجاء إدخال قيمة صالحة.',
23
+ less: 'الرجاء اختيار %s خيارات كحد أدنى.',
24
+ more: 'الرجاء اختيار %s خيارات كحد أقصى.',
25
+ between: 'الرجاء إختيار %s-%s خيارات.'
26
+ },
27
+ color: {
28
+ 'default': 'الرجاء إدخال رمز لون صالح.'
29
+ },
30
+ creditCard: {
31
+ 'default': 'الرجاء إدخال رقم بطاقة إئتمان صحيح.'
32
+ },
33
+ cusip: {
34
+ 'default': 'الرجاء إدخال رقم CUSIP صالح.'
35
+ },
36
+ cvv: {
37
+ 'default': 'الرجاء إدخال رقم CVV صالح.'
38
+ },
39
+ date: {
40
+ 'default': 'الرجاء إدخال تاريخ صالح.',
41
+ min: 'الرجاء إدخال تاريخ بعد %s.',
42
+ max: 'الرجاء إدخال تاريخ قبل %s.',
43
+ range: 'الرجاء إدخال تاريخ في المجال %s - %s.'
44
+ },
45
+ different: {
46
+ 'default': 'الرجاء إدخال قيمة مختلفة.'
47
+ },
48
+ digits: {
49
+ 'default': 'الرجاء إدخال الأرقام فقط.'
50
+ },
51
+ ean: {
52
+ 'default': 'الرجاء إدخال رقم EAN صالح.'
53
+ },
54
+ ein: {
55
+ 'default': 'الرجاء إدخال رقم EIN صالح.'
56
+ },
57
+ emailAddress: {
58
+ 'default': 'الرجاء إدخال بريد إلكتروني صحيح.'
59
+ },
60
+ file: {
61
+ 'default': 'الرجاء إختيار ملف صالح.'
62
+ },
63
+ greaterThan: {
64
+ 'default': 'الرجاء إدخال قيمة أكبر من أو تساوي %s.',
65
+ notInclusive: 'الرجاء إدخال قيمة أكبر من %s.'
66
+ },
67
+ grid: {
68
+ 'default': 'الرجاء إدخال رقم GRid صالح.'
69
+ },
70
+ hex: {
71
+ 'default': 'الرجاء إدخال رقم ست عشري صالح.'
72
+ },
73
+ iban: {
74
+ 'default': 'الرجاء إدخال رقم IBAN صالح.',
75
+ country: 'الرجاء إدخال رقم IBAN صالح في %s.',
76
+ countries: {
77
+ AD: 'أندورا',
78
+ AE: 'الإمارات العربية المتحدة',
79
+ AL: 'ألبانيا',
80
+ AO: 'أنغولا',
81
+ AT: 'النمسا',
82
+ AZ: 'أذربيجان',
83
+ BA: 'البوسنة والهرسك',
84
+ BE: 'بلجيكا',
85
+ BF: 'بوركينا فاسو',
86
+ BG: 'بلغاريا',
87
+ BH: 'البحرين',
88
+ BI: 'بوروندي',
89
+ BJ: 'بنين',
90
+ BR: 'البرازيل',
91
+ CH: 'سويسرا',
92
+ CI: 'ساحل العاج',
93
+ CM: 'الكاميرون',
94
+ CR: 'كوستاريكا',
95
+ CV: 'الرأس الأخضر',
96
+ CY: 'قبرص',
97
+ CZ: 'التشيك',
98
+ DE: 'ألمانيا',
99
+ DK: 'الدنمارك',
100
+ DO: 'جمهورية الدومينيكان',
101
+ DZ: 'الجزائر',
102
+ EE: 'إستونيا',
103
+ ES: 'إسبانيا',
104
+ FI: 'فنلندا',
105
+ FO: 'جزر فارو',
106
+ FR: 'فرنسا',
107
+ GB: 'المملكة المتحدة',
108
+ GE: 'جورجيا',
109
+ GI: 'جبل طارق',
110
+ GL: 'جرينلاند',
111
+ GR: 'اليونان',
112
+ GT: 'غواتيمالا',
113
+ HR: 'كرواتيا',
114
+ HU: 'المجر',
115
+ IE: 'أيرلندا',
116
+ IL: 'إسرائيل',
117
+ IR: 'إيران',
118
+ IS: 'آيسلندا',
119
+ IT: 'إيطاليا',
120
+ JO: 'الأردن',
121
+ KW: 'الكويت',
122
+ KZ: 'كازاخستان',
123
+ LB: 'لبنان',
124
+ LI: 'ليختنشتاين',
125
+ LT: 'ليتوانيا',
126
+ LU: 'لوكسمبورغ',
127
+ LV: 'لاتفيا',
128
+ MC: 'موناكو',
129
+ MD: 'مولدوفا',
130
+ ME: 'الجبل الأسود',
131
+ MG: 'مدغشقر',
132
+ MK: 'جمهورية مقدونيا',
133
+ ML: 'مالي',
134
+ MR: 'موريتانيا',
135
+ MT: 'مالطا',
136
+ MU: 'موريشيوس',
137
+ MZ: 'موزمبيق',
138
+ NL: 'هولندا',
139
+ NO: 'النرويج',
140
+ PK: 'باكستان',
141
+ PL: 'بولندا',
142
+ PS: 'فلسطين',
143
+ PT: 'البرتغال',
144
+ QA: 'قطر',
145
+ RO: 'رومانيا',
146
+ RS: 'صربيا',
147
+ SA: 'المملكة العربية السعودية',
148
+ SE: 'السويد',
149
+ SI: 'سلوفينيا',
150
+ SK: 'سلوفاكيا',
151
+ SM: 'سان مارينو',
152
+ SN: 'السنغال',
153
+ TN: 'تونس',
154
+ TR: 'تركيا',
155
+ VG: 'جزر العذراء البريطانية'
156
+ }
157
+ },
158
+ id: {
159
+ 'default': 'الرجاء إدخال رقم هوية صالحة.',
160
+ country: 'الرجاء إدخال رقم تعريف صالح في %s.',
161
+ countries: {
162
+ BA: 'البوسنة والهرسك',
163
+ BG: 'بلغاريا',
164
+ BR: 'البرازيل',
165
+ CH: 'سويسرا',
166
+ CL: 'تشيلي',
167
+ CN: 'الصين',
168
+ CZ: 'التشيك',
169
+ DK: 'الدنمارك',
170
+ EE: 'إستونيا',
171
+ ES: 'إسبانيا',
172
+ FI: 'فنلندا',
173
+ HR: 'كرواتيا',
174
+ IE: 'أيرلندا',
175
+ IS: 'آيسلندا',
176
+ LT: 'ليتوانيا',
177
+ LV: 'لاتفيا',
178
+ ME: 'الجبل الأسود',
179
+ MK: 'جمهورية مقدونيا',
180
+ NL: 'هولندا',
181
+ PL: 'بولندا',
182
+ RO: 'رومانيا',
183
+ RS: 'صربيا',
184
+ SE: 'السويد',
185
+ SI: 'سلوفينيا',
186
+ SK: 'سلوفاكيا',
187
+ SM: 'سان مارينو',
188
+ TH: 'تايلاند',
189
+ ZA: 'جنوب أفريقيا'
190
+ }
191
+ },
192
+ identical: {
193
+ 'default': 'الرجاء إدخال نفس القيمة.'
194
+ },
195
+ imei: {
196
+ 'default': 'الرجاء إدخال رقم IMEI صالح.'
197
+ },
198
+ imo: {
199
+ 'default': 'الرجاء إدخال رقم IMO صالح.'
200
+ },
201
+ integer: {
202
+ 'default': 'الرجاء إدخال رقم صحيح.'
203
+ },
204
+ ip: {
205
+ 'default': 'الرجاء إدخال عنوان IP صالح.',
206
+ ipv4: 'الرجاء إدخال عنوان IPv4 صالح.',
207
+ ipv6: 'الرجاء إدخال عنوان IPv6 صالح.'
208
+ },
209
+ isbn: {
210
+ 'default': 'الرجاء إدخال رقم ISBN صالح.'
211
+ },
212
+ isin: {
213
+ 'default': 'الرجاء إدخال رقم ISIN صالح.'
214
+ },
215
+ ismn: {
216
+ 'default': 'الرجاء إدخال رقم ISMN صالح.'
217
+ },
218
+ issn: {
219
+ 'default': 'الرجاء إدخال رقم ISSN صالح.'
220
+ },
221
+ lessThan: {
222
+ 'default': 'الرجاء إدخال قيمة أصغر من أو تساوي %s.',
223
+ notInclusive: 'الرجاء إدخال قيمة أصغر من %s.'
224
+ },
225
+ mac: {
226
+ 'default': 'يرجى إدخال عنوان MAC صالح.'
227
+ },
228
+ meid: {
229
+ 'default': 'الرجاء إدخال رقم MEID صالح.'
230
+ },
231
+ notEmpty: {
232
+ 'default': 'الرجاء إدخال قيمة.'
233
+ },
234
+ numeric: {
235
+ 'default': 'الرجاء إدخال عدد عشري صالح.'
236
+ },
237
+ phone: {
238
+ 'default': 'الرجاء إدخال رقم هاتف صحيح.',
239
+ country: 'الرجاء إدخال رقم هاتف صالح في %s.',
240
+ countries: {
241
+ AE: 'الإمارات العربية المتحدة',
242
+ BG: 'بلغاريا',
243
+ BR: 'البرازيل',
244
+ CN: 'الصين',
245
+ CZ: 'التشيك',
246
+ DE: 'ألمانيا',
247
+ DK: 'الدنمارك',
248
+ ES: 'إسبانيا',
249
+ FR: 'فرنسا',
250
+ GB: 'المملكة المتحدة',
251
+ IN: 'الهند',
252
+ MA: 'المغرب',
253
+ NL: 'هولندا',
254
+ PK: 'باكستان',
255
+ RO: 'رومانيا',
256
+ RU: 'روسيا',
257
+ SK: 'سلوفاكيا',
258
+ TH: 'تايلاند',
259
+ US: 'الولايات المتحدة',
260
+ VE: 'فنزويلا'
261
+ }
262
+ },
263
+ regexp: {
264
+ 'default': 'الرجاء إدخال قيمة مطابقة للنمط.'
265
+ },
266
+ remote: {
267
+ 'default': 'الرجاء إدخال قيمة صالحة.'
268
+ },
269
+ rtn: {
270
+ 'default': 'الرجاء إدخال رقم RTN صالح.'
271
+ },
272
+ sedol: {
273
+ 'default': 'الرجاء إدخال رقم SEDOL صالح.'
274
+ },
275
+ siren: {
276
+ 'default': 'الرجاء إدخال رقم SIREN صالح.'
277
+ },
278
+ siret: {
279
+ 'default': 'الرجاء إدخال رقم SIRET صالح.'
280
+ },
281
+ step: {
282
+ 'default': 'الرجاء إدخال قيمة من مضاعفات %s .'
283
+ },
284
+ stringCase: {
285
+ 'default': 'الرجاء إدخال أحرف صغيرة فقط.',
286
+ upper: 'الرجاء إدخال أحرف كبيرة فقط.'
287
+ },
288
+ stringLength: {
289
+ 'default': 'الرجاء إدخال قيمة ذات طول صحيح.',
290
+ less: 'الرجاء إدخال أقل من %s حرفا.',
291
+ more: 'الرجاء إدخال أكتر من %s حرفا.',
292
+ between: 'الرجاء إدخال قيمة ذات عدد حروف بين %s و %s حرفا.'
293
+ },
294
+ uri: {
295
+ 'default': 'الرجاء إدخال URI صالح.'
296
+ },
297
+ uuid: {
298
+ 'default': 'الرجاء إدخال رقم UUID صالح.',
299
+ version: 'الرجاء إدخال رقم UUID صالح إصدار %s.'
300
+ },
301
+ vat: {
302
+ 'default': 'الرجاء إدخال رقم VAT صالح.',
303
+ country: 'الرجاء إدخال رقم VAT صالح في %s.',
304
+ countries: {
305
+ AT: 'النمسا',
306
+ BE: 'بلجيكا',
307
+ BG: 'بلغاريا',
308
+ BR: 'البرازيل',
309
+ CH: 'سويسرا',
310
+ CY: 'قبرص',
311
+ CZ: 'التشيك',
312
+ DE: 'جورجيا',
313
+ DK: 'الدنمارك',
314
+ EE: 'إستونيا',
315
+ ES: 'إسبانيا',
316
+ FI: 'فنلندا',
317
+ FR: 'فرنسا',
318
+ GB: 'المملكة المتحدة',
319
+ GR: 'اليونان',
320
+ EL: 'اليونان',
321
+ HR: 'كرواتيا',
322
+ HU: 'المجر',
323
+ IE: 'أيرلندا',
324
+ IS: 'آيسلندا',
325
+ IT: 'إيطاليا',
326
+ LT: 'ليتوانيا',
327
+ LU: 'لوكسمبورغ',
328
+ LV: 'لاتفيا',
329
+ MT: 'مالطا',
330
+ NL: 'هولندا',
331
+ NO: 'النرويج',
332
+ PL: 'بولندا',
333
+ PT: 'البرتغال',
334
+ RO: 'رومانيا',
335
+ RU: 'روسيا',
336
+ RS: 'صربيا',
337
+ SE: 'السويد',
338
+ SI: 'سلوفينيا',
339
+ SK: 'سلوفاكيا',
340
+ VE: 'فنزويلا',
341
+ ZA: 'جنوب أفريقيا'
342
+ }
343
+ },
344
+ vin: {
345
+ 'default': 'الرجاء إدخال رقم VIN صالح.'
346
+ },
347
+ zipCode: {
348
+ 'default': 'الرجاء إدخال رمز بريدي صالح.',
349
+ country: 'الرجاء إدخال رمز بريدي صالح في %s.',
350
+ countries: {
351
+ AT: 'النمسا',
352
+ BG: 'بلغاريا',
353
+ BR: 'البرازيل',
354
+ CA: 'كندا',
355
+ CH: 'سويسرا',
356
+ CZ: 'التشيك',
357
+ DE: 'ألمانيا',
358
+ DK: 'الدنمارك',
359
+ ES: 'إسبانيا',
360
+ FR: 'فرنسا',
361
+ GB: 'المملكة المتحدة',
362
+ IE: 'أيرلندا',
363
+ IN: 'الهند',
364
+ IT: 'إيطاليا',
365
+ MA: 'المغرب',
366
+ NL: 'هولندا',
367
+ PL: 'بولندا',
368
+ PT: 'البرتغال',
369
+ RO: 'رومانيا',
370
+ RU: 'روسيا',
371
+ SE: 'السويد',
372
+ SG: 'سنغافورة',
373
+ SK: 'سلوفاكيا',
374
+ US: 'الولايات المتحدة'
375
+ }
376
+ }
377
+ }
378
+ });
379
+ }(jQuery));