formvalidation-rails 0.6.1.0

Sign up to get free protection for your applications and to get access to all the features.
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));