dqs-jquery-form-validator-rails 2.2.164 → 2.2.165
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.
- checksums.yaml +4 -4
- data/README.md +11 -14
- data/app/assets/javascripts/brazil.dev.js +6 -6
- data/app/assets/javascripts/brazil.js +3 -4
- data/app/assets/javascripts/date.dev.js +2 -2
- data/app/assets/javascripts/date.js +2 -3
- data/app/assets/javascripts/file.dev.js +30 -32
- data/app/assets/javascripts/file.js +3 -4
- data/app/assets/javascripts/html5.dev.js +9 -14
- data/app/assets/javascripts/html5.js +3 -4
- data/app/assets/javascripts/jquery.form-validator.js +1784 -0
- data/app/assets/javascripts/jquery.form-validator.min.js +3 -4
- data/app/assets/javascripts/jsconf.dev.js +8 -21
- data/app/assets/javascripts/jsconf.js +3 -4
- data/app/assets/javascripts/lang/de.dev.js +43 -45
- data/app/assets/javascripts/lang/de.js +3 -4
- data/app/assets/javascripts/lang/es.dev.js +40 -39
- data/app/assets/javascripts/lang/es.js +3 -4
- data/app/assets/javascripts/lang/fr.dev.js +43 -42
- data/app/assets/javascripts/lang/fr.js +3 -4
- data/app/assets/javascripts/lang/pt.dev.js +2 -3
- data/app/assets/javascripts/lang/pt.js +3 -4
- data/app/assets/javascripts/lang/sv.dev.js +2 -3
- data/app/assets/javascripts/lang/sv.js +3 -4
- data/app/assets/javascripts/location.dev.js +1 -1
- data/app/assets/javascripts/location.js +2 -3
- data/app/assets/javascripts/sanitize.dev.js +30 -39
- data/app/assets/javascripts/sanitize.js +3 -4
- data/app/assets/javascripts/security.dev.js +34 -51
- data/app/assets/javascripts/security.js +3 -4
- data/app/assets/javascripts/sweden.dev.js +13 -16
- data/app/assets/javascripts/sweden.js +3 -4
- data/app/assets/javascripts/toggleDisabled.dev.js +5 -6
- data/app/assets/javascripts/toggleDisabled.js +3 -4
- data/app/assets/javascripts/uk.dev.js +13 -13
- data/app/assets/javascripts/uk.js +3 -4
- data/lib/dqs/jquery/form/validator/rails/version.rb +1 -1
- metadata +2 -17
- data/app/assets/javascripts/lang/cz.dev.js +0 -65
- data/app/assets/javascripts/lang/cz.js +0 -9
- data/app/assets/javascripts/lang/it.dev.js +0 -62
- data/app/assets/javascripts/lang/it.js +0 -9
- data/app/assets/javascripts/lang/pl.dev.js +0 -65
- data/app/assets/javascripts/lang/pl.js +0 -9
- data/app/assets/javascripts/lang/ro.dev.js +0 -65
- data/app/assets/javascripts/lang/ro.js +0 -9
- data/app/assets/javascripts/lang/ru.dev.js +0 -66
- data/app/assets/javascripts/lang/ru.js +0 -9
- data/app/assets/javascripts/src/core-validators.js +0 -343
- data/app/assets/javascripts/src/dialogs.js +0 -123
- data/app/assets/javascripts/src/jquery-plugins.js +0 -452
- data/app/assets/javascripts/src/module-loader.js +0 -150
- data/app/assets/javascripts/src/setup.js +0 -168
- data/app/assets/javascripts/src/utils.js +0 -840
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 607882a7e037323f944887573a11626f4134e295
|
4
|
+
data.tar.gz: ab503c82891ca44113750a07251443ce6fda2d62
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 580d8705e1ff7ec8ccf1aaa461861df408fa1aa1cc216a0886da0d0444f311c0d6238725a99019f3039e12937b9f5e299b07697194decfd385df7f2b1b148559
|
7
|
+
data.tar.gz: 10ccde2ad8fba3caa21c4e8270805b1dfe7c2d836e7c2a366f59f5d26684630e6c81c6409ff74089d68f0702187e2c54c390ac6e5e801bf60335397f76a3edc6
|
data/README.md
CHANGED
@@ -1,32 +1,29 @@
|
|
1
|
-
# DQS
|
1
|
+
# DQS::Jquery::Form::Validator::Rails
|
2
2
|
|
3
3
|
DQS-Jquery-form-validator-rails gem is based on Victor Jonsson's jQuery plugin: https://github.com/victorjonsson/jQuery-Form-Validator
|
4
4
|
|
5
|
-
jQuery-Form-Validator:
|
5
|
+
DQS-jQuery-Form-Validator:
|
6
6
|
|
7
7
|
## Installation
|
8
8
|
|
9
9
|
Add this line to your application's Gemfile:
|
10
|
-
|
11
|
-
|
10
|
+
```
|
11
|
+
vim Gemfile
|
12
|
+
[...]
|
13
|
+
gem 'dqs-jquery-form-validator-rails', '>= 2.2.164'
|
14
|
+
```
|
12
15
|
|
13
16
|
And then execute:
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
Add `dqs-jquery-form-validator-rails` to your Gemfile and run `bundle install`:
|
18
|
-
|
19
|
-
gem "dqs-jquery-form-validator-rails"
|
17
|
+
```
|
18
|
+
bundle install
|
19
|
+
````
|
20
20
|
|
21
21
|
### Include jquery.form-validator-rails javascript assets
|
22
22
|
|
23
23
|
Add the following to your `app/assets/javascripts/application.js`:
|
24
24
|
```
|
25
25
|
//= require jquery
|
26
|
-
//= require jquery.
|
27
|
-
//= require jquery_ujs
|
28
|
-
//= require turbolinks
|
29
|
-
//= require jquery.form-validator
|
26
|
+
//= require jquery.form-validator.min
|
30
27
|
[...]
|
31
28
|
```
|
32
29
|
|
@@ -11,7 +11,7 @@
|
|
11
11
|
*
|
12
12
|
* @website http://formvalidator.net/#brazil-validators
|
13
13
|
* @license MIT
|
14
|
-
* @version 2.2.
|
14
|
+
* @version 2.2.81
|
15
15
|
*/
|
16
16
|
|
17
17
|
$.formUtils.addValidator({
|
@@ -22,26 +22,26 @@ $.formUtils.addValidator({
|
|
22
22
|
// http://www.devmedia.com.br/validar-cpf-com-javascript/23916
|
23
23
|
|
24
24
|
// clean up the input (digits only) and set some support vars
|
25
|
-
var cpf = string.replace(/\D/g,
|
25
|
+
var cpf = string.replace(/\D/g,"");
|
26
26
|
var sum1 = 0;
|
27
27
|
var sum2 = 0;
|
28
28
|
var remainder1 = 0;
|
29
29
|
var remainder2 = 0;
|
30
30
|
|
31
31
|
// skip special cases
|
32
|
-
if (cpf.length
|
32
|
+
if (cpf.length != 11 || cpf == "00000000000") {
|
33
33
|
return false;
|
34
34
|
}
|
35
35
|
|
36
36
|
// check 1st verification digit
|
37
|
-
for (i
|
37
|
+
for (i=1; i<=9; i++) {
|
38
38
|
sum1 += parseInt(cpf.substring(i - 1, i)) * (11 - i);
|
39
39
|
}
|
40
40
|
remainder1 = (sum1 * 10) % 11;
|
41
41
|
if (remainder1 >= 10) {
|
42
42
|
remainder1 = 0;
|
43
43
|
}
|
44
|
-
if (remainder1
|
44
|
+
if (remainder1 != parseInt(cpf.substring(9, 10))) {
|
45
45
|
return false;
|
46
46
|
}
|
47
47
|
|
@@ -53,7 +53,7 @@ $.formUtils.addValidator({
|
|
53
53
|
if (remainder2 >= 10) {
|
54
54
|
remainder2 = 0;
|
55
55
|
}
|
56
|
-
if (remainder2
|
56
|
+
if (remainder2 != parseInt(cpf.substring(10, 11))) {
|
57
57
|
return false;
|
58
58
|
}
|
59
59
|
|
@@ -1,9 +1,8 @@
|
|
1
1
|
/**
|
2
2
|
* JQUERY-FORM-VALIDATOR
|
3
3
|
*
|
4
|
-
* @
|
5
|
-
* @website http://formvalidator.net/
|
6
|
-
* @author Victor Jonsson, http://victorjonsson.se
|
4
|
+
* @website by
|
7
5
|
* @license MIT
|
6
|
+
* @version 2.2.81
|
8
7
|
*/
|
9
|
-
$.formUtils.addValidator({name:"cpf",validatorFunction:function(a){var b=a.replace(/\D/g,""),c=0,d=0,e=0,f=0;if(11
|
8
|
+
$.formUtils.addValidator({name:"cpf",validatorFunction:function(a){var b=a.replace(/\D/g,""),c=0,d=0,e=0,f=0;if(11!=b.length||"00000000000"==b)return!1;for(i=1;i<=9;i++)c+=parseInt(b.substring(i-1,i))*(11-i);if(e=10*c%11,e>=10&&(e=0),e!=parseInt(b.substring(9,10)))return!1;for(i=1;i<=10;i++)d+=parseInt(b.substring(i-1,i))*(12-i);return f=10*d%11,f>=10&&(f=0),f!=parseInt(b.substring(10,11))?!1:!0},errorMessage:"",errorMessageKey:"badBrazilCPFAnswer"}),$.formUtils.addValidator({name:"brphone",validatorFunction:function(a){return a.match(/^(\+[\d]{1,3}[\s]{0,1}){0,1}(\(){0,1}(\d){2}(\)){0,1}(\s){0,1}(\d){4,5}([-. ]){0,1}(\d){4}$/g)?!0:!1},errorMessage:"",errorMessageKey:"badBrazilTelephoneAnswer"}),$.formUtils.addValidator({name:"cep",validatorFunction:function(a){return a.match(/^(\d){5}([-. ]){0,1}(\d){3}$/g)?!0:!1},errorMessage:"",errorMessageKey:"badBrazilCEPAnswer"});
|
@@ -10,7 +10,7 @@
|
|
10
10
|
*
|
11
11
|
* @website http://formvalidator.net/#location-validators
|
12
12
|
* @license MIT
|
13
|
-
* @version 2.2.
|
13
|
+
* @version 2.2.81
|
14
14
|
*/
|
15
15
|
(function($) {
|
16
16
|
|
@@ -45,7 +45,7 @@
|
|
45
45
|
if($el.valAttr('format')) {
|
46
46
|
dateFormat = $el.valAttr('format');
|
47
47
|
}
|
48
|
-
else if(typeof conf.dateFormat
|
48
|
+
else if(typeof conf.dateFormat != 'undefined') {
|
49
49
|
dateFormat = conf.dateFormat;
|
50
50
|
}
|
51
51
|
|
@@ -1,9 +1,8 @@
|
|
1
1
|
/**
|
2
2
|
* JQUERY-FORM-VALIDATOR
|
3
3
|
*
|
4
|
-
* @
|
5
|
-
* @website http://formvalidator.net/
|
6
|
-
* @author Victor Jonsson, http://victorjonsson.se
|
4
|
+
* @website by
|
7
5
|
* @license MIT
|
6
|
+
* @version 2.2.81
|
8
7
|
*/
|
9
8
|
!function(a){a.formUtils.addValidator({name:"time",validatorFunction:function(a){if(null===a.match(/^(\d{2}):(\d{2})$/))return!1;var b=parseInt(a.split(":")[0],10),c=parseInt(a.split(":")[1],10);return b>23||c>59?!1:!0},errorMessage:"",errorMessageKey:"badTime"}),a.formUtils.addValidator({name:"birthdate",validatorFunction:function(b,c,d){var e="yyyy-mm-dd";c.valAttr("format")?e=c.valAttr("format"):"undefined"!=typeof d.dateFormat&&(e=d.dateFormat);var f=a.formUtils.parseDate(b,e);if(!f)return!1;var g=new Date,h=g.getFullYear(),i=f[0],j=f[1],k=f[2];if(i===h){var l=g.getMonth()+1;if(j===l){var m=g.getDate();return m>=k}return l>j}return h>i&&i>h-124},errorMessage:"",errorMessageKey:"badDate"})}(jQuery);
|
@@ -10,25 +10,23 @@
|
|
10
10
|
*
|
11
11
|
* @website http://formvalidator.net/#file-validators
|
12
12
|
* @license MIT
|
13
|
-
* @version 2.2.
|
13
|
+
* @version 2.2.81
|
14
14
|
*/
|
15
15
|
(function($, window) {
|
16
16
|
|
17
17
|
'use strict';
|
18
18
|
|
19
|
-
var SUPPORTS_FILE_READER = typeof window.FileReader
|
19
|
+
var SUPPORTS_FILE_READER = typeof window.FileReader != 'undefined',
|
20
20
|
|
21
21
|
/**
|
22
22
|
* @return {Array}
|
23
23
|
*/
|
24
24
|
_getTypes = function($input) {
|
25
25
|
var allowedTypes = $.split( ($input.valAttr('allowing') || '').toLowerCase() );
|
26
|
-
if
|
26
|
+
if( $.inArray('jpg', allowedTypes) > -1 && $.inArray('jpeg', allowedTypes) == -1)
|
27
27
|
allowedTypes.push('jpeg');
|
28
|
-
|
29
|
-
else if ($.inArray('jpeg', allowedTypes) > -1 && $.inArray('jpg', allowedTypes) === -1) {
|
28
|
+
else if( $.inArray('jpeg', allowedTypes) > -1 && $.inArray('jpg', allowedTypes) == -1)
|
30
29
|
allowedTypes.push('jpg');
|
31
|
-
}
|
32
30
|
return allowedTypes;
|
33
31
|
},
|
34
32
|
|
@@ -135,10 +133,10 @@
|
|
135
133
|
allowedTypes = _getTypes($input);
|
136
134
|
|
137
135
|
$.each($input.get(0).files || [value], function(i, file) {
|
138
|
-
var val = typeof file
|
136
|
+
var val = typeof file == 'string' ? file : (file.value || file.fileName || file.name),
|
139
137
|
ext = val.substr( val.lastIndexOf('.')+1 );
|
140
138
|
|
141
|
-
if( $.inArray(ext.toLowerCase(), allowedTypes)
|
139
|
+
if( $.inArray(ext.toLowerCase(), allowedTypes) == -1 ) {
|
142
140
|
valid = false;
|
143
141
|
_generateErrorMsg(_this, 'wrongFileType', allowedTypes.join(', '), language);
|
144
142
|
return false;
|
@@ -189,13 +187,13 @@
|
|
189
187
|
*/
|
190
188
|
$.formUtils.convertSizeNameToBytes = function(sizeName) {
|
191
189
|
sizeName = sizeName.toUpperCase();
|
192
|
-
if( sizeName.substr(sizeName.length-1, 1)
|
190
|
+
if( sizeName.substr(sizeName.length-1, 1) == 'M' ) {
|
193
191
|
return parseInt(sizeName.substr(0, sizeName.length-1), 10) * 1024 * 1024;
|
194
|
-
} else if( sizeName.substr(sizeName.length-2, 2)
|
192
|
+
} else if( sizeName.substr(sizeName.length-2, 2) == 'MB' ) {
|
195
193
|
return parseInt(sizeName.substr(0, sizeName.length-2), 10) * 1024 * 1024;
|
196
|
-
} else if( sizeName.substr(sizeName.length-2, 2)
|
194
|
+
} else if( sizeName.substr(sizeName.length-2, 2) == 'KB' ) {
|
197
195
|
return parseInt(sizeName.substr(0, sizeName.length-2), 10) * 1024;
|
198
|
-
} else if( sizeName.substr(sizeName.length-1, 1)
|
196
|
+
} else if( sizeName.substr(sizeName.length-1, 1) == 'B' ) {
|
199
197
|
return parseInt(sizeName.substr(0, sizeName.length-1), 10);
|
200
198
|
} else {
|
201
199
|
return parseInt(sizeName, 10);
|
@@ -225,7 +223,7 @@
|
|
225
223
|
maxDeclaration = false,
|
226
224
|
declarationParts = dimDeclaration.split('-');
|
227
225
|
|
228
|
-
if( declarationParts.length
|
226
|
+
if( declarationParts.length == 1 ) {
|
229
227
|
if( declarationParts[0].indexOf('min') === 0 ) {
|
230
228
|
minDeclaration = declarationParts[0];
|
231
229
|
} else {
|
@@ -268,6 +266,8 @@
|
|
268
266
|
*/
|
269
267
|
$.formUtils.checkImageRatio = function(img, ratioDeclaration, language) {
|
270
268
|
var ratio = img.width / img.height,
|
269
|
+
minRatio = false,
|
270
|
+
maxRatio = false,
|
271
271
|
calculateRatio = function(declaration) {
|
272
272
|
var dims = declaration.replace('max', '').replace('min', '').split(':');
|
273
273
|
return dims[0] / dims[1];
|
@@ -277,15 +277,15 @@
|
|
277
277
|
return val >= min && val <= max;
|
278
278
|
};
|
279
279
|
|
280
|
-
|
281
|
-
|
280
|
+
if( declarationParts.length == 1 ) {
|
281
|
+
if( ratio !== calculateRatio(declarationParts[0]) )
|
282
|
+
return language.imageRatioNotAccepted;
|
283
|
+
}
|
284
|
+
else if( declarationParts.length == 2 && !isWithin(ratio, calculateRatio(declarationParts[0]), calculateRatio(declarationParts[1])) ) {
|
282
285
|
return language.imageRatioNotAccepted;
|
283
286
|
}
|
284
|
-
|
285
|
-
|
286
|
-
return language.imageRatioNotAccepted;
|
287
|
-
}
|
288
|
-
return false;
|
287
|
+
|
288
|
+
return false;
|
289
289
|
};
|
290
290
|
|
291
291
|
/**
|
@@ -294,19 +294,19 @@
|
|
294
294
|
$.formUtils.addValidator({
|
295
295
|
name : 'dimension',
|
296
296
|
validatorFunction : function(val, $input, conf, language, $form) {
|
297
|
-
|
297
|
+
|
298
298
|
if( SUPPORTS_FILE_READER ) {
|
299
|
-
var
|
300
|
-
|
299
|
+
var hasCorrectDim = true,
|
300
|
+
file = $input.get(0).files || [];
|
301
301
|
|
302
|
-
if( $input.attr('data-validation').indexOf('mime')
|
302
|
+
if( $input.attr('data-validation').indexOf('mime') == -1) {
|
303
303
|
alert('You should validate file type being jpg, gif or png on input '+$input[0].name);
|
304
304
|
return false;
|
305
305
|
}
|
306
306
|
else if( file.length > 1 ) {
|
307
307
|
alert('Validating image dimensions does not support inputs allowing multiple files');
|
308
308
|
return false;
|
309
|
-
} else if( file.length
|
309
|
+
} else if( file.length == 0) {
|
310
310
|
return true;
|
311
311
|
}
|
312
312
|
|
@@ -314,10 +314,10 @@
|
|
314
314
|
return true;
|
315
315
|
}
|
316
316
|
else if( $input.valAttr('has-not-valid-dim') ) {
|
317
|
-
this.errorMessage = language
|
317
|
+
this.errorMessage = language['wrongFileDim'] + ' '+$input.valAttr('has-not-valid-dim');
|
318
318
|
return false;
|
319
319
|
}
|
320
|
-
else if($.formUtils.eventType
|
320
|
+
else if($.formUtils.eventType == 'keyup') {
|
321
321
|
return null;
|
322
322
|
}
|
323
323
|
|
@@ -334,13 +334,11 @@
|
|
334
334
|
_loadImage(file[0], function(img) {
|
335
335
|
var error = false;
|
336
336
|
|
337
|
-
if
|
337
|
+
if( $input.valAttr('dimension') )
|
338
338
|
error = $.formUtils.checkImageDimension(img, $input.valAttr('dimension'), language);
|
339
|
-
}
|
340
339
|
|
341
|
-
if
|
340
|
+
if( !error && $input.valAttr('ratio') )
|
342
341
|
error = $.formUtils.checkImageRatio(img, $input.valAttr('ratio'), language);
|
343
|
-
}
|
344
342
|
|
345
343
|
// Set validation result flag on input
|
346
344
|
if( error ) {
|
@@ -355,7 +353,7 @@
|
|
355
353
|
$input
|
356
354
|
.valAttr('has-keyup-event', '1')
|
357
355
|
.bind('keyup change', function(evt) {
|
358
|
-
if( evt.keyCode
|
356
|
+
if( evt.keyCode != 9 && evt.keyCode != 16 ) {
|
359
357
|
$(this)
|
360
358
|
.valAttr('has-not-valid-dim', false)
|
361
359
|
.valAttr('has-valid-dim', false);
|
@@ -1,9 +1,8 @@
|
|
1
1
|
/**
|
2
2
|
* JQUERY-FORM-VALIDATOR
|
3
3
|
*
|
4
|
-
* @
|
5
|
-
* @website http://formvalidator.net/
|
6
|
-
* @author Victor Jonsson, http://victorjonsson.se
|
4
|
+
* @website by
|
7
5
|
* @license MIT
|
6
|
+
* @version 2.2.81
|
8
7
|
*/
|
9
|
-
!function(a,b){"use strict";var c="undefined"!=typeof b.FileReader,d=function(b){var c=a.split((b.valAttr("allowing")||"").toLowerCase());return a.inArray("jpg",c)>-1&&-1
|
8
|
+
!function(a,b){"use strict";var c="undefined"!=typeof b.FileReader,d=function(b){var c=a.split((b.valAttr("allowing")||"").toLowerCase());return a.inArray("jpg",c)>-1&&-1==a.inArray("jpeg",c)?c.push("jpeg"):a.inArray("jpeg",c)>-1&&-1==a.inArray("jpg",c)&&c.push("jpg"),c},e=function(a,b,c,d){var e=d[b]||"";a.errorMessageKey="",a.errorMessage=e.replace("%s",c)},f=function(a){b.console&&b.console.log&&b.console.log(a)},g=function(c,d,e){var f=new FileReader,g=new Image;f.readAsDataURL(c),f.onload=function(c){g.onload=function(){a(b).trigger("imageValidation",[this]),d(this)},g.onerror=function(){e()},g.src=c.target.result}};a.formUtils.addValidator({name:"mime",validatorFunction:function(b,g,h,i){if(c){var j=!0,k=g.get(0).files||[],l="",m=d(g);return k.length&&(a.each(k,function(b,c){return j=!1,l=c.type||"",a.each(m,function(a,b){return j=l.indexOf(b)>-1,j?!1:void 0}),j}),j||(f("Trying to upload a file with mime type "+l+" which is not allowed"),e(this,"wrongFileType",m.join(", "),i))),j}return f("FileReader not supported by browser, will check file extension"),a.formUtils.validators.validate_extension.validatorFunction(b,g,h,i)},errorMessage:"",errorMessageKey:"wrongFileType"}),a.formUtils.addValidator({name:"extension",validatorFunction:function(b,c,f,g){var h=!0,i=this,j=d(c);return a.each(c.get(0).files||[b],function(b,c){var d="string"==typeof c?c:c.value||c.fileName||c.name,f=d.substr(d.lastIndexOf(".")+1);return-1==a.inArray(f.toLowerCase(),j)?(h=!1,e(i,"wrongFileType",j.join(", "),g),!1):void 0}),h},errorMessage:"",errorMessageKey:"wrongFileType"}),a.formUtils.addValidator({name:"size",validatorFunction:function(b,d,g,h){var i=d.valAttr("max-size");if(!i)return f('Input "'+d.attr("name")+'" is missing data-validation-max-size attribute'),!0;if(!c)return!0;var j=a.formUtils.convertSizeNameToBytes(i),k=!0;return a.each(d.get(0).files||[],function(a,b){return k=b.size<=j}),k||e(this,"wrongFileSize",i,h),k},errorMessage:"",errorMessageKey:"wrongFileSize"}),a.formUtils.convertSizeNameToBytes=function(a){return a=a.toUpperCase(),"M"==a.substr(a.length-1,1)?1024*parseInt(a.substr(0,a.length-1),10)*1024:"MB"==a.substr(a.length-2,2)?1024*parseInt(a.substr(0,a.length-2),10)*1024:"KB"==a.substr(a.length-2,2)?1024*parseInt(a.substr(0,a.length-2),10):"B"==a.substr(a.length-1,1)?parseInt(a.substr(0,a.length-1),10):parseInt(a,10)};var h=function(){return!1};a.formUtils.checkImageDimension=function(a,b,c){var d=!1,e={width:0,height:0},f=function(a){a=a.replace("min","").replace("max","");var b=a.split("x");e.width=b[0],e.height=b[1]?b[1]:b[0]},g=!1,h=!1,i=b.split("-");return 1==i.length?0===i[0].indexOf("min")?g=i[0]:h=i[0]:(g=i[0],h=i[1]),g&&(f(g),(a.width<e.width||a.height<e.height)&&(d=c.imageTooSmall+" ("+c.min+" "+e.width+"x"+e.height+"px)")),!d&&h&&(f(h),(a.width>e.width||a.height>e.height)&&(d=a.width>e.width?c.imageTooWide+" "+e.width+"px":c.imageTooTall+" "+e.height+"px",d+=" ("+c.max+" "+e.width+"x"+e.height+"px)")),d},a.formUtils.checkImageRatio=function(a,b,c){var d=a.width/a.height,e=function(a){var b=a.replace("max","").replace("min","").split(":");return b[0]/b[1]},f=b.split("-"),g=function(a,b,c){return a>=b&&c>=a};if(1==f.length){if(d!==e(f[0]))return c.imageRatioNotAccepted}else if(2==f.length&&!g(d,e(f[0]),e(f[1])))return c.imageRatioNotAccepted;return!1},a.formUtils.addValidator({name:"dimension",validatorFunction:function(b,d,e,f,i){if(c){var j=!0,k=d.get(0).files||[];if(-1==d.attr("data-validation").indexOf("mime"))return alert("You should validate file type being jpg, gif or png on input "+d[0].name),!1;if(k.length>1)return alert("Validating image dimensions does not support inputs allowing multiple files"),!1;if(0==k.length)return!0;if(d.valAttr("has-valid-dim"))return!0;if(d.valAttr("has-not-valid-dim"))return this.errorMessage=f.wrongFileDim+" "+d.valAttr("has-not-valid-dim"),!1;if("keyup"==a.formUtils.eventType)return null;var l=!1;return a.formUtils.isValidatingEntireForm&&(l=!0,a.formUtils.haltValidation=!0,i.bind("submit",h).addClass("on-blur")),g(k[0],function(b){var c=!1;d.valAttr("dimension")&&(c=a.formUtils.checkImageDimension(b,d.valAttr("dimension"),f)),!c&&d.valAttr("ratio")&&(c=a.formUtils.checkImageRatio(b,d.valAttr("ratio"),f)),c?d.valAttr("has-not-valid-dim",c):d.valAttr("has-valid-dim","true"),d.valAttr("has-keyup-event")||d.valAttr("has-keyup-event","1").bind("keyup change",function(b){9!=b.keyCode&&16!=b.keyCode&&a(this).valAttr("has-not-valid-dim",!1).valAttr("has-valid-dim",!1)}),l?(a.formUtils.haltValidation=!1,i.removeClass("on-blur").get(0).onsubmit=function(){},i.unbind("submit",h),i.trigger("submit")):d.trigger("blur")},function(a){throw a}),!0}return j},errorMessage:"",errorMessageKey:""}),a(b).one("validatorsLoaded formValidationSetup",function(b,c){var d;d=c?c.find('input[type="file"]'):a('input[type="file"]'),d.filter("*[data-validation]").bind("change",function(){a(this).removeClass("error").parent().find(".form-error").remove()})})}(jQuery,window);
|
@@ -17,11 +17,11 @@
|
|
17
17
|
*
|
18
18
|
* @website http://formvalidator.net/
|
19
19
|
* @license MIT
|
20
|
-
* @version 2.2.
|
20
|
+
* @version 2.2.81
|
21
21
|
*/
|
22
22
|
(function($, window) {
|
23
23
|
|
24
|
-
|
24
|
+
"use strict";
|
25
25
|
|
26
26
|
var SUPPORTS_PLACEHOLDER = 'placeholder' in document.createElement('INPUT'),
|
27
27
|
SUPPORTS_DATALIST = 'options' in document.createElement('DATALIST'),
|
@@ -61,12 +61,10 @@
|
|
61
61
|
var max = $input.attr('max'),
|
62
62
|
min = $input.attr('min');
|
63
63
|
if( min || max ) {
|
64
|
-
if
|
64
|
+
if( !min )
|
65
65
|
min = '0';
|
66
|
-
|
67
|
-
if ( !max ) {
|
66
|
+
if( !max )
|
68
67
|
max = '9007199254740992'; // js max int
|
69
|
-
}
|
70
68
|
|
71
69
|
attrs['data-validation-allowing'] = 'range['+min+';'+max+']';
|
72
70
|
if( min.indexOf('-') === 0 || max.indexOf('-') === 0 ) {
|
@@ -96,7 +94,7 @@
|
|
96
94
|
suggestions.push($(this).text());
|
97
95
|
});
|
98
96
|
|
99
|
-
if( suggestions.length
|
97
|
+
if( suggestions.length == 0 ) {
|
100
98
|
// IE fix
|
101
99
|
var opts = $.trim($('#'+$input.attr('list')).text()).split('\n');
|
102
100
|
$.each(opts, function(i, option) {
|
@@ -109,9 +107,8 @@
|
|
109
107
|
$.formUtils.suggest( $input, suggestions );
|
110
108
|
}
|
111
109
|
|
112
|
-
if
|
110
|
+
if( isRequired && validation.length == 0 )
|
113
111
|
validation.push('required');
|
114
|
-
}
|
115
112
|
|
116
113
|
if( validation.length ) {
|
117
114
|
if( !isRequired ) {
|
@@ -119,9 +116,7 @@
|
|
119
116
|
}
|
120
117
|
|
121
118
|
foundHtml5Rule = true;
|
122
|
-
|
123
|
-
var validationRules = ($input.attr('data-validation') || '') +' '+ validation.join(' ');
|
124
|
-
$input.attr('data-validation', $.trim(validationRules));
|
119
|
+
$input.attr('data-validation', validation.join(' '));
|
125
120
|
|
126
121
|
$.each(attrs, function(attrName, attrVal) {
|
127
122
|
$input.attr(attrName, attrVal);
|
@@ -138,13 +133,13 @@
|
|
138
133
|
this.defaultValue = this.getAttribute('placeholder');
|
139
134
|
$(this)
|
140
135
|
.bind('focus', function() {
|
141
|
-
if(this.value
|
136
|
+
if(this.value == this.defaultValue) {
|
142
137
|
this.value = '';
|
143
138
|
$(this).removeClass('showing-placeholder');
|
144
139
|
}
|
145
140
|
})
|
146
141
|
.bind('blur', function() {
|
147
|
-
if($.trim(this.value)
|
142
|
+
if($.trim(this.value) == '') {
|
148
143
|
this.value = this.defaultValue;
|
149
144
|
$(this).addClass('showing-placeholder');
|
150
145
|
}
|
@@ -1,9 +1,8 @@
|
|
1
1
|
/**
|
2
2
|
* JQUERY-FORM-VALIDATOR
|
3
3
|
*
|
4
|
-
* @
|
5
|
-
* @website http://formvalidator.net/
|
6
|
-
* @author Victor Jonsson, http://victorjonsson.se
|
4
|
+
* @website by
|
7
5
|
* @license MIT
|
6
|
+
* @version 2.2.81
|
8
7
|
*/
|
9
|
-
!function(a,b){"use strict";var c="placeholder"in document.createElement("INPUT"),d="options"in document.createElement("DATALIST"),e=!1,f=function(b){b.each(function(){var b=a(this),f=b.find("input,textarea,select"),g=!1;f.each(function(){var b=[],c=a(this),f=c.attr("required"),h={};switch((c.attr("type")||"").toLowerCase()){case"time":b.push("time"),a.formUtils.validators.validate_date||e||(e=!0,a.formUtils.loadModules("date"));break;case"url":b.push("url");break;case"email":b.push("email");break;case"date":b.push("date");break;case"number":b.push("number");var i=c.attr("max"),j=c.attr("min");(j||i)&&(j||(j="0"),i||(i="9007199254740992"),h["data-validation-allowing"]="range["+j+";"+i+"]",(0===j.indexOf("-")||0===i.indexOf("-"))&&(h["data-validation-allowing"]+=",negative"),(j.indexOf(".")>-1||i.indexOf(".")>-1)&&(h["data-validation-allowing"]+=",float"))}if(c.attr("pattern")&&(b.push("custom"),h["data-validation-regexp"]=c.attr("pattern")),c.attr("maxlength")&&(b.push("length"),h["data-validation-length"]="max"+c.attr("maxlength")),!d&&c.attr("list")){var k=[],l=a("#"+c.attr("list"));if(l.find("option").each(function(){k.push(a(this).text())}),0
|
8
|
+
!function(a,b){"use strict";var c="placeholder"in document.createElement("INPUT"),d="options"in document.createElement("DATALIST"),e=!1,f=function(b){b.each(function(){var b=a(this),f=b.find("input,textarea,select"),g=!1;f.each(function(){var b=[],c=a(this),f=c.attr("required"),h={};switch((c.attr("type")||"").toLowerCase()){case"time":b.push("time"),a.formUtils.validators.validate_date||e||(e=!0,a.formUtils.loadModules("date"));break;case"url":b.push("url");break;case"email":b.push("email");break;case"date":b.push("date");break;case"number":b.push("number");var i=c.attr("max"),j=c.attr("min");(j||i)&&(j||(j="0"),i||(i="9007199254740992"),h["data-validation-allowing"]="range["+j+";"+i+"]",(0===j.indexOf("-")||0===i.indexOf("-"))&&(h["data-validation-allowing"]+=",negative"),(j.indexOf(".")>-1||i.indexOf(".")>-1)&&(h["data-validation-allowing"]+=",float"))}if(c.attr("pattern")&&(b.push("custom"),h["data-validation-regexp"]=c.attr("pattern")),c.attr("maxlength")&&(b.push("length"),h["data-validation-length"]="max"+c.attr("maxlength")),!d&&c.attr("list")){var k=[],l=a("#"+c.attr("list"));if(l.find("option").each(function(){k.push(a(this).text())}),0==k.length){var m=a.trim(a("#"+c.attr("list")).text()).split("\n");a.each(m,function(b,c){k.push(a.trim(c))})}l.remove(),a.formUtils.suggest(c,k)}f&&0==b.length&&b.push("required"),b.length&&(f||(h["data-validation-optional"]="true"),g=!0,c.attr("data-validation",b.join(" ")),a.each(h,function(a,b){c.attr(a,b)}))}),g&&b.trigger("html5ValidationAttrsFound"),c||f.filter("input[placeholder]").each(function(){this.defaultValue=this.getAttribute("placeholder"),a(this).bind("focus",function(){this.value==this.defaultValue&&(this.value="",a(this).removeClass("showing-placeholder"))}).bind("blur",function(){""==a.trim(this.value)&&(this.value=this.defaultValue,a(this).addClass("showing-placeholder"))})})})};a(b).bind("validatorsLoaded formValidationSetup",function(b,c){c||(c=a("form")),f(c)}),a.formUtils.setupValidationUsingHTML5Attr=f}(jQuery,window);
|