|
1 | 1 | /*!
|
2 |
| - * Validator v0.11.8 for Bootstrap 3, by @1000hz |
3 |
| - * Copyright 2016 Cina Saffary |
| 2 | + * Validator v0.11.9 for Bootstrap 3, by @1000hz |
| 3 | + * Copyright 2017 Cina Saffary |
4 | 4 | * Licensed under http://opensource.org/licenses/MIT
|
5 | 5 | *
|
6 | 6 | * https://github.com/1000hz/bootstrap-validator
|
|
15 | 15 | function getValue($el) {
|
16 | 16 | return $el.is('[type="checkbox"]') ? $el.prop('checked') :
|
17 | 17 | $el.is('[type="radio"]') ? !!$('[name="' + $el.attr('name') + '"]:checked').length :
|
18 |
| - $el.is('select[multiple]') ? +$el.val() ? $el.val() : null : |
| 18 | + $el.is('select[multiple]') ? ($el.val() || []).length : |
19 | 19 | $el.val()
|
20 | 20 | }
|
21 | 21 |
|
|
35 | 35 |
|
36 | 36 | this.$element.find('[data-match]').each(function () {
|
37 | 37 | var $this = $(this)
|
38 |
| - var target = $this.data('match') |
| 38 | + var target = $this.attr('data-match') |
39 | 39 |
|
40 | 40 | $(target).on('input.bs.validator', function (e) {
|
41 | 41 | getValue($this) && $this.trigger('input.bs.validator')
|
|
50 | 50 | this.$element.attr('novalidate', true) // disable automatic native validation
|
51 | 51 | }
|
52 | 52 |
|
53 |
| - Validator.VERSION = '0.11.8' |
| 53 | + Validator.VERSION = '0.11.9' |
54 | 54 |
|
55 | 55 | Validator.INPUT_SELECTOR = ':input:not([type="hidden"], [type="submit"], [type="reset"], button)'
|
56 | 56 |
|
|
80 | 80 | }
|
81 | 81 | },
|
82 | 82 | 'match': function ($el) {
|
83 |
| - var target = $el.data('match') |
| 83 | + var target = $el.attr('data-match') |
84 | 84 | return $el.val() !== $(target).val() && Validator.DEFAULTS.errors.match
|
85 | 85 | },
|
86 | 86 | 'minlength': function ($el) {
|
87 |
| - var minlength = $el.data('minlength') |
| 87 | + var minlength = $el.attr('data-minlength') |
88 | 88 | return $el.val().length < minlength && Validator.DEFAULTS.errors.minlength
|
89 | 89 | }
|
90 | 90 | }
|
|
157 | 157 | $el.data('bs.validator.deferred', deferred)
|
158 | 158 |
|
159 | 159 | function getValidatorSpecificError(key) {
|
160 |
| - return $el.data(key + '-error') |
| 160 | + return $el.attr('data-' + key + '-error') |
161 | 161 | }
|
162 | 162 |
|
163 | 163 | function getValidityStateError() {
|
164 | 164 | var validity = $el[0].validity
|
165 |
| - return validity.typeMismatch ? $el.data('type-error') |
166 |
| - : validity.patternMismatch ? $el.data('pattern-error') |
167 |
| - : validity.stepMismatch ? $el.data('step-error') |
168 |
| - : validity.rangeOverflow ? $el.data('max-error') |
169 |
| - : validity.rangeUnderflow ? $el.data('min-error') |
170 |
| - : validity.valueMissing ? $el.data('required-error') |
| 165 | + return validity.typeMismatch ? $el.attr('data-type-error') |
| 166 | + : validity.patternMismatch ? $el.attr('data-pattern-error') |
| 167 | + : validity.stepMismatch ? $el.attr('data-step-error') |
| 168 | + : validity.rangeOverflow ? $el.attr('data-max-error') |
| 169 | + : validity.rangeUnderflow ? $el.attr('data-min-error') |
| 170 | + : validity.valueMissing ? $el.attr('data-required-error') |
171 | 171 | : null
|
172 | 172 | }
|
173 | 173 |
|
174 | 174 | function getGenericError() {
|
175 |
| - return $el.data('error') |
| 175 | + return $el.attr('data-error') |
176 | 176 | }
|
177 | 177 |
|
178 | 178 | function getErrorMessage(key) {
|
|
184 | 184 | $.each(this.validators, $.proxy(function (key, validator) {
|
185 | 185 | var error = null
|
186 | 186 | if ((getValue($el) || $el.attr('required')) &&
|
187 |
| - ($el.data(key) || key == 'native') && |
| 187 | + ($el.attr('data-' + key) !== undefined || key == 'native') && |
188 | 188 | (error = validator.call(this, $el))) {
|
189 | 189 | error = getErrorMessage(key) || error
|
190 | 190 | !~errors.indexOf(error) && errors.push(error)
|
191 | 191 | }
|
192 | 192 | }, this))
|
193 | 193 |
|
194 |
| - if (!errors.length && getValue($el) && $el.data('remote')) { |
| 194 | + if (!errors.length && getValue($el) && $el.attr('data-remote')) { |
195 | 195 | this.defer($el, function () {
|
196 | 196 | var data = {}
|
197 | 197 | data[$el.attr('name')] = getValue($el)
|
198 |
| - $.get($el.data('remote'), data) |
| 198 | + $.get($el.attr('data-remote'), data) |
199 | 199 | .fail(function (jqXHR, textStatus, error) { errors.push(getErrorMessage('remote') || error) })
|
200 | 200 | .always(function () { deferred.resolve(errors)})
|
201 | 201 | })
|
|
0 commit comments