bootstrap_validator_rails 0.1.0 → 0.1.1

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 (52) hide show
  1. checksums.yaml +4 -4
  2. data/lib/bootstrap_validator_rails/version.rb +1 -1
  3. data/vendor/assets/javascripts/bootstrapValidator.js +4677 -2
  4. data/vendor/assets/javascripts/bootstrapValidator.min.js +12 -0
  5. data/vendor/assets/stylesheets/bootstrapValidator.min.css +11 -0
  6. metadata +4 -48
  7. data/vendor/assets/javascripts/validator/base64.js +0 -25
  8. data/vendor/assets/javascripts/validator/between.js +0 -66
  9. data/vendor/assets/javascripts/validator/callback.js +0 -40
  10. data/vendor/assets/javascripts/validator/choice.js +0 -68
  11. data/vendor/assets/javascripts/validator/creditCard.js +0 -103
  12. data/vendor/assets/javascripts/validator/cusip.js +0 -55
  13. data/vendor/assets/javascripts/validator/cvv.js +0 -116
  14. data/vendor/assets/javascripts/validator/date.js +0 -118
  15. data/vendor/assets/javascripts/validator/different.js +0 -41
  16. data/vendor/assets/javascripts/validator/digits.js +0 -24
  17. data/vendor/assets/javascripts/validator/ean.js +0 -40
  18. data/vendor/assets/javascripts/validator/emailAddress.js +0 -31
  19. data/vendor/assets/javascripts/validator/file.js +0 -69
  20. data/vendor/assets/javascripts/validator/greaterThan.js +0 -61
  21. data/vendor/assets/javascripts/validator/grid.js +0 -37
  22. data/vendor/assets/javascripts/validator/hex.js +0 -25
  23. data/vendor/assets/javascripts/validator/hexColor.js +0 -28
  24. data/vendor/assets/javascripts/validator/iban.js +0 -246
  25. data/vendor/assets/javascripts/validator/id.js +0 -815
  26. data/vendor/assets/javascripts/validator/identical.js +0 -40
  27. data/vendor/assets/javascripts/validator/imei.js +0 -44
  28. data/vendor/assets/javascripts/validator/integer.js +0 -28
  29. data/vendor/assets/javascripts/validator/ip.js +0 -48
  30. data/vendor/assets/javascripts/validator/isbn.js +0 -86
  31. data/vendor/assets/javascripts/validator/isin.js +0 -59
  32. data/vendor/assets/javascripts/validator/ismn.js +0 -59
  33. data/vendor/assets/javascripts/validator/issn.js +0 -46
  34. data/vendor/assets/javascripts/validator/lessThan.js +0 -61
  35. data/vendor/assets/javascripts/validator/mac.js +0 -25
  36. data/vendor/assets/javascripts/validator/notEmpty.js +0 -32
  37. data/vendor/assets/javascripts/validator/numeric.js +0 -39
  38. data/vendor/assets/javascripts/validator/phone.js +0 -84
  39. data/vendor/assets/javascripts/validator/regexp.js +0 -42
  40. data/vendor/assets/javascripts/validator/remote.js +0 -70
  41. data/vendor/assets/javascripts/validator/rtn.js +0 -38
  42. data/vendor/assets/javascripts/validator/sedol.js +0 -40
  43. data/vendor/assets/javascripts/validator/siren.js +0 -28
  44. data/vendor/assets/javascripts/validator/siret.js +0 -38
  45. data/vendor/assets/javascripts/validator/step.js +0 -64
  46. data/vendor/assets/javascripts/validator/stringCase.js +0 -36
  47. data/vendor/assets/javascripts/validator/stringLength.js +0 -81
  48. data/vendor/assets/javascripts/validator/uri.js +0 -101
  49. data/vendor/assets/javascripts/validator/uuid.js +0 -46
  50. data/vendor/assets/javascripts/validator/vat.js +0 -1220
  51. data/vendor/assets/javascripts/validator/vin.js +0 -49
  52. data/vendor/assets/javascripts/validator/zipCode.js +0 -162
@@ -1,116 +0,0 @@
1
- (function($) {
2
- $.fn.bootstrapValidator.i18n.cvv = $.extend($.fn.bootstrapValidator.i18n.cvv || {}, {
3
- 'default': 'Please enter a valid CVV number'
4
- });
5
-
6
- $.fn.bootstrapValidator.validators.cvv = {
7
- html5Attributes: {
8
- message: 'message',
9
- ccfield: 'creditCardField'
10
- },
11
-
12
- /**
13
- * Return true if the input value is a valid CVV number.
14
- *
15
- * @param {BootstrapValidator} validator The validator plugin instance
16
- * @param {jQuery} $field Field element
17
- * @param {Object} options Can consist of the following keys:
18
- * - creditCardField: The credit card number field. It can be null
19
- * - message: The invalid message
20
- * @returns {Boolean}
21
- */
22
- validate: function(validator, $field, options) {
23
- var value = $field.val();
24
- if (value === '') {
25
- return true;
26
- }
27
-
28
- if (!/^[0-9]{3,4}$/.test(value)) {
29
- return false;
30
- }
31
-
32
- if (!options.creditCardField) {
33
- return true;
34
- }
35
-
36
- // Get the credit card number
37
- var creditCard = validator.getFieldElements(options.creditCardField).val();
38
- if (creditCard === '') {
39
- return true;
40
- }
41
-
42
- creditCard = creditCard.replace(/\D/g, '');
43
-
44
- // Supported credit card types
45
- var cards = {
46
- AMERICAN_EXPRESS: {
47
- length: [15],
48
- prefix: ['34', '37']
49
- },
50
- DINERS_CLUB: {
51
- length: [14],
52
- prefix: ['300', '301', '302', '303', '304', '305', '36']
53
- },
54
- DINERS_CLUB_US: {
55
- length: [16],
56
- prefix: ['54', '55']
57
- },
58
- DISCOVER: {
59
- length: [16],
60
- prefix: ['6011', '622126', '622127', '622128', '622129', '62213',
61
- '62214', '62215', '62216', '62217', '62218', '62219',
62
- '6222', '6223', '6224', '6225', '6226', '6227', '6228',
63
- '62290', '62291', '622920', '622921', '622922', '622923',
64
- '622924', '622925', '644', '645', '646', '647', '648',
65
- '649', '65']
66
- },
67
- JCB: {
68
- length: [16],
69
- prefix: ['3528', '3529', '353', '354', '355', '356', '357', '358']
70
- },
71
- LASER: {
72
- length: [16, 17, 18, 19],
73
- prefix: ['6304', '6706', '6771', '6709']
74
- },
75
- MAESTRO: {
76
- length: [12, 13, 14, 15, 16, 17, 18, 19],
77
- prefix: ['5018', '5020', '5038', '6304', '6759', '6761', '6762', '6763', '6764', '6765', '6766']
78
- },
79
- MASTERCARD: {
80
- length: [16],
81
- prefix: ['51', '52', '53', '54', '55']
82
- },
83
- SOLO: {
84
- length: [16, 18, 19],
85
- prefix: ['6334', '6767']
86
- },
87
- UNIONPAY: {
88
- length: [16, 17, 18, 19],
89
- prefix: ['622126', '622127', '622128', '622129', '62213', '62214',
90
- '62215', '62216', '62217', '62218', '62219', '6222', '6223',
91
- '6224', '6225', '6226', '6227', '6228', '62290', '62291',
92
- '622920', '622921', '622922', '622923', '622924', '622925']
93
- },
94
- VISA: {
95
- length: [16],
96
- prefix: ['4']
97
- }
98
- };
99
- var type, i, creditCardType = null;
100
- for (type in cards) {
101
- for (i in cards[type].prefix) {
102
- if (creditCard.substr(0, cards[type].prefix[i].length) === cards[type].prefix[i] // Check the prefix
103
- && $.inArray(creditCard.length, cards[type].length) !== -1) // and length
104
- {
105
- creditCardType = type;
106
- break;
107
- }
108
- }
109
- }
110
-
111
- return (creditCardType === null)
112
- ? false
113
- : (('AMERICAN_EXPRESS' === creditCardType) ? (value.length === 4) : (value.length === 3));
114
- }
115
- };
116
- }(window.jQuery));
@@ -1,118 +0,0 @@
1
- (function($) {
2
- $.fn.bootstrapValidator.i18n.date = $.extend($.fn.bootstrapValidator.i18n.date || {}, {
3
- 'default': 'Please enter a valid date'
4
- });
5
-
6
- $.fn.bootstrapValidator.validators.date = {
7
- html5Attributes: {
8
- message: 'message',
9
- format: 'format',
10
- separator: 'separator'
11
- },
12
-
13
- /**
14
- * Return true if the input value is valid date
15
- *
16
- * @param {BootstrapValidator} validator The validator plugin instance
17
- * @param {jQuery} $field Field element
18
- * @param {Object} options Can consist of the following keys:
19
- * - message: The invalid message
20
- * - separator: Use to separate the date, month, and year.
21
- * By default, it is /
22
- * - format: The date format. Default is MM/DD/YYYY
23
- * The format can be:
24
- *
25
- * i) date: Consist of DD, MM, YYYY parts which are separated by the separator option
26
- * ii) date and time:
27
- * The time can consist of h, m, s parts which are separated by :
28
- * ii) date, time and A (indicating AM or PM)
29
- * @returns {Boolean}
30
- */
31
- validate: function(validator, $field, options) {
32
- var value = $field.val();
33
- if (value === '') {
34
- return true;
35
- }
36
-
37
- options.format = options.format || 'MM/DD/YYYY';
38
-
39
- var formats = options.format.split(' '),
40
- dateFormat = formats[0],
41
- timeFormat = (formats.length > 1) ? formats[1] : null,
42
- amOrPm = (formats.length > 2) ? formats[2] : null,
43
- sections = value.split(' '),
44
- date = sections[0],
45
- time = (sections.length > 1) ? sections[1] : null;
46
-
47
- if (formats.length !== sections.length) {
48
- return false;
49
- }
50
-
51
- // Determine the separator
52
- var separator = options.separator;
53
- if (!separator) {
54
- separator = (date.indexOf('/') !== -1) ? '/' : ((date.indexOf('-') !== -1) ? '-' : null);
55
- }
56
- if (separator === null || date.indexOf(separator) === -1) {
57
- return false;
58
- }
59
-
60
- // Determine the date
61
- date = date.split(separator);
62
- dateFormat = dateFormat.split(separator);
63
- if (date.length !== dateFormat.length) {
64
- return false;
65
- }
66
-
67
- var year = date[$.inArray('YYYY', dateFormat)],
68
- month = date[$.inArray('MM', dateFormat)],
69
- day = date[$.inArray('DD', dateFormat)];
70
-
71
- if (!year || !month || !day) {
72
- return false;
73
- }
74
-
75
- // Determine the time
76
- var minutes = null, hours = null, seconds = null;
77
- if (timeFormat) {
78
- timeFormat = timeFormat.split(':');
79
- time = time.split(':');
80
-
81
- if (timeFormat.length !== time.length) {
82
- return false;
83
- }
84
-
85
- hours = time.length > 0 ? time[0] : null;
86
- minutes = time.length > 1 ? time[1] : null;
87
- seconds = time.length > 2 ? time[2] : null;
88
-
89
- // Validate seconds
90
- if (seconds) {
91
- seconds = parseInt(seconds, 10);
92
- if (isNaN(seconds) || seconds < 0 || seconds > 60) {
93
- return false;
94
- }
95
- }
96
-
97
- // Validate hours
98
- if (hours) {
99
- hours = parseInt(hours, 10);
100
- if (isNaN(hours) || hours < 0 || hours >= 24 || (amOrPm && hours > 12)) {
101
- return false;
102
- }
103
- }
104
-
105
- // Validate minutes
106
- if (minutes) {
107
- minutes = parseInt(minutes, 10);
108
- if (isNaN(minutes) || minutes < 0 || minutes > 59) {
109
- return false;
110
- }
111
- }
112
- }
113
-
114
- // Validate day, month, and year
115
- return $.fn.bootstrapValidator.helpers.date(year, month, day);
116
- }
117
- };
118
- }(window.jQuery));
@@ -1,41 +0,0 @@
1
- (function($) {
2
- $.fn.bootstrapValidator.i18n.different = $.extend($.fn.bootstrapValidator.i18n.different || {}, {
3
- 'default': 'Please enter a different value'
4
- });
5
-
6
- $.fn.bootstrapValidator.validators.different = {
7
- html5Attributes: {
8
- message: 'message',
9
- field: 'field'
10
- },
11
-
12
- /**
13
- * Return true if the input value is different with given field's value
14
- *
15
- * @param {BootstrapValidator} validator The validator plugin instance
16
- * @param {jQuery} $field Field element
17
- * @param {Object} options Consists of the following key:
18
- * - field: The name of field that will be used to compare with current one
19
- * - message: The invalid message
20
- * @returns {Boolean}
21
- */
22
- validate: function(validator, $field, options) {
23
- var value = $field.val();
24
- if (value === '') {
25
- return true;
26
- }
27
-
28
- var compareWith = validator.getFieldElements(options.field);
29
- if (compareWith === null) {
30
- return true;
31
- }
32
-
33
- if (value !== compareWith.val()) {
34
- validator.updateStatus(options.field, validator.STATUS_VALID, 'different');
35
- return true;
36
- } else {
37
- return false;
38
- }
39
- }
40
- };
41
- }(window.jQuery));
@@ -1,24 +0,0 @@
1
- (function($) {
2
- $.fn.bootstrapValidator.i18n.digits = $.extend($.fn.bootstrapValidator.i18n.digits || {}, {
3
- 'default': 'Please enter only digits'
4
- });
5
-
6
- $.fn.bootstrapValidator.validators.digits = {
7
- /**
8
- * Return true if the input value contains digits only
9
- *
10
- * @param {BootstrapValidator} validator Validate plugin instance
11
- * @param {jQuery} $field Field element
12
- * @param {Object} [options]
13
- * @returns {Boolean}
14
- */
15
- validate: function(validator, $field, options) {
16
- var value = $field.val();
17
- if (value === '') {
18
- return true;
19
- }
20
-
21
- return /^\d+$/.test(value);
22
- }
23
- };
24
- }(window.jQuery));
@@ -1,40 +0,0 @@
1
- (function($) {
2
- $.fn.bootstrapValidator.i18n.ean = $.extend($.fn.bootstrapValidator.i18n.ean || {}, {
3
- 'default': 'Please enter a valid EAN number'
4
- });
5
-
6
- $.fn.bootstrapValidator.validators.ean = {
7
- /**
8
- * Validate EAN (International Article Number)
9
- * Examples:
10
- * - Valid: 73513537, 9780471117094, 4006381333931
11
- * - Invalid: 73513536
12
- *
13
- * @see http://en.wikipedia.org/wiki/European_Article_Number
14
- * @param {BootstrapValidator} validator The validator plugin instance
15
- * @param {jQuery} $field Field element
16
- * @param {Object} options Can consist of the following keys:
17
- * - message: The invalid message
18
- * @returns {Boolean}
19
- */
20
- validate: function(validator, $field, options) {
21
- var value = $field.val();
22
- if (value === '') {
23
- return true;
24
- }
25
-
26
- if (!/^(\d{8}|\d{12}|\d{13})$/.test(value)) {
27
- return false;
28
- }
29
-
30
- var length = value.length,
31
- sum = 0,
32
- weight = (length === 8) ? [3, 1] : [1, 3];
33
- for (var i = 0; i < length - 1; i++) {
34
- sum += parseInt(value.charAt(i), 10) * weight[i % 2];
35
- }
36
- sum = (10 - sum % 10) % 10;
37
- return (sum + '' === value.charAt(length - 1));
38
- }
39
- };
40
- }(window.jQuery));
@@ -1,31 +0,0 @@
1
- (function($) {
2
- $.fn.bootstrapValidator.i18n.emailAddress = $.extend($.fn.bootstrapValidator.i18n.emailAddress || {}, {
3
- 'default': 'Please enter a valid email address'
4
- });
5
-
6
- $.fn.bootstrapValidator.validators.emailAddress = {
7
- enableByHtml5: function($field) {
8
- return ('email' === $field.attr('type'));
9
- },
10
-
11
- /**
12
- * Return true if and only if the input value is a valid email address
13
- *
14
- * @param {BootstrapValidator} validator Validate plugin instance
15
- * @param {jQuery} $field Field element
16
- * @param {Object} [options]
17
- * @returns {Boolean}
18
- */
19
- validate: function(validator, $field, options) {
20
- var value = $field.val();
21
- if (value === '') {
22
- return true;
23
- }
24
-
25
- // Email address regular expression
26
- // http://stackoverflow.com/questions/46155/validate-email-address-in-javascript
27
- var emailRegExp = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
28
- return emailRegExp.test(value);
29
- }
30
- };
31
- }(window.jQuery));
@@ -1,69 +0,0 @@
1
- (function($) {
2
- $.fn.bootstrapValidator.i18n.file = $.extend($.fn.bootstrapValidator.i18n.file || {}, {
3
- 'default': 'Please choose a valid file'
4
- });
5
-
6
- $.fn.bootstrapValidator.validators.file = {
7
- html5Attributes: {
8
- extension: 'extension',
9
- maxsize: 'maxSize',
10
- message: 'message',
11
- type: 'type'
12
- },
13
-
14
- /**
15
- * Validate upload file. Use HTML 5 API if the browser supports
16
- *
17
- * @param {BootstrapValidator} validator The validator plugin instance
18
- * @param {jQuery} $field Field element
19
- * @param {Object} options Can consist of the following keys:
20
- * - extension: The allowed extensions, separated by a comma
21
- * - maxSize: The maximum size in bytes
22
- * - message: The invalid message
23
- * - type: The allowed MIME type, separated by a comma
24
- * @returns {Boolean}
25
- */
26
- validate: function(validator, $field, options) {
27
- var value = $field.val();
28
- if (value === '') {
29
- return true;
30
- }
31
-
32
- var ext,
33
- extensions = options.extension ? options.extension.toLowerCase().split(',') : null,
34
- types = options.type ? options.type.toLowerCase().split(',') : null,
35
- html5 = (window.File && window.FileList && window.FileReader);
36
-
37
- if (html5) {
38
- // Get FileList instance
39
- var files = $field.get(0).files,
40
- total = files.length;
41
- for (var i = 0; i < total; i++) {
42
- // Check file size
43
- if (options.maxSize && files[i].size > parseInt(options.maxSize, 10)) {
44
- return false;
45
- }
46
-
47
- // Check file extension
48
- ext = files[i].name.substr(files[i].name.lastIndexOf('.') + 1);
49
- if (extensions && $.inArray(ext.toLowerCase(), extensions) === -1) {
50
- return false;
51
- }
52
-
53
- // Check file type
54
- if (types && $.inArray(files[i].type.toLowerCase(), types) === -1) {
55
- return false;
56
- }
57
- }
58
- } else {
59
- // Check file extension
60
- ext = value.substr(value.lastIndexOf('.') + 1);
61
- if (extensions && $.inArray(ext.toLowerCase(), extensions) === -1) {
62
- return false;
63
- }
64
- }
65
-
66
- return true;
67
- }
68
- };
69
- }(window.jQuery));