Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history


Conflicts:
	additional-methods.js
  • Loading branch information
g1smd committed Nov 6, 2012
2 parents ea56128 + f221f68 commit c9ee5d9
Show file tree
Hide file tree
Showing 48 changed files with 878 additions and 776 deletions.
3 changes: 3 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
language: node_js
node_js:
- 0.8
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
[jQuery Validation Plugin](http://bassistance.de/jquery-plugins/jquery-plugin-validation/) - Form validation made easy
================================

[![Build Status](https://secure.travis-ci.org/jzaefferer/jquery-validation.png)](http://travis-ci.org/jzaefferer/jquery-validation)

The jQuery Validation Plugin provides drop-in validation for your existing forms, while making all kinds of customizations to fit your application really easy.

## [Help the project](http://pledgie.com/campaigns/18159)
Expand Down
74 changes: 43 additions & 31 deletions additional-methods.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
// remove html tags and space chars
return value.replace(/<.[^<>]*?>/g, ' ').replace(/&nbsp;|&#160;/gi, ' ')
// remove punctuation
.replace(/[.(),;:!?%#$'"_+=\/-]*/g,'');
.replace(/[.(),;:!?%#$'"_+=\/\-]*/g,'');
}
jQuery.validator.addMethod("maxWords", function(value, element, params) {
return this.optional(element) || stripHtml(value).match(/\b\w+\b/g).length <= params;
Expand All @@ -33,7 +33,7 @@
return this.optional(element) || valueStripped.match(regex).length >= params[0] && valueStripped.match(regex).length <= params[1];
}, jQuery.validator.format("Please enter between {0} and {1} words."));

})();
}());

jQuery.validator.addMethod("letterswithbasicpunc", function(value, element) {
return this.optional(element) || /^[a-z\-.,()'\"\s]+$/i.test(value);
Expand All @@ -56,7 +56,7 @@ jQuery.validator.addMethod("ziprange", function(value, element) {
}, "Your ZIP-code must be in the range 902xx-xxxx to 905-xx-xxxx");

jQuery.validator.addMethod("zipcodeUS", function(value, element) {
return this.optional(element) || /\d{5}-\d{4}$|^\d{5}$/.test(value)
return this.optional(element) || /\d{5}-\d{4}$|^\d{5}$/.test(value);
}, "The specified US ZIP Code is invalid");

jQuery.validator.addMethod("integer", function(value, element) {
Expand All @@ -76,7 +76,7 @@ jQuery.validator.addMethod("integer", function(value, element) {
* @cat Plugins/Validate/Methods
*/
jQuery.validator.addMethod("vinUS", function(v) {
if (v.length != 17) {
if (v.length !== 17) {
return false;
}
var i, n, d, f, cd, cdv;
Expand All @@ -87,7 +87,7 @@ jQuery.validator.addMethod("vinUS", function(v) {
for(i = 0; i < 17; i++){
f = FL[i];
d = v.slice(i,i+1);
if (i == 8) {
if (i === 8) {
cdv = d;
}
if (!isNaN(d)) {
Expand All @@ -97,7 +97,7 @@ jQuery.validator.addMethod("vinUS", function(v) {
if (d.toUpperCase() === LL[n]) {
d = VL[n];
d *= f;
if (isNaN(cdv) && n == 8) {
if (isNaN(cdv) && n === 8) {
cdv = LL[n];
}
break;
Expand All @@ -107,10 +107,10 @@ jQuery.validator.addMethod("vinUS", function(v) {
rs += d;
}
cd = rs % 11;
if (cd == 10) {
if (cd === 10) {
cd = "X";
}
if (cd == cdv) {
if (cd === cdv) {
return true;
}
return false;
Expand Down Expand Up @@ -144,12 +144,14 @@ jQuery.validator.addMethod("dateITA", function(value, element) {
var mm = parseInt(adata[1],10);
var aaaa = parseInt(adata[2],10);
var xdata = new Date(aaaa,mm-1,gg);
if ( ( xdata.getFullYear() == aaaa ) && ( xdata.getMonth () == mm - 1 ) && ( xdata.getDate() == gg ) )
if ( ( xdata.getFullYear() === aaaa ) && ( xdata.getMonth() === mm - 1 ) && ( xdata.getDate() === gg ) ){
check = true;
else
} else {
check = false;
} else
}
} else {
check = false;
}
return this.optional(element) || check;
}, "Please enter a correct date");

Expand Down Expand Up @@ -237,56 +239,64 @@ jQuery.validator.addMethod("url2", function(value, element, param) {
// Redistributed under the the Apache License 2.0 at http://www.apache.org/licenses/LICENSE-2.0
// Valid Types: mastercard, visa, amex, dinersclub, enroute, discover, jcb, unknown, all (overrides all other settings)
jQuery.validator.addMethod("creditcardtypes", function(value, element, param) {
if (/[^0-9-]+/.test(value)) {
if (/[^0-9\-]+/.test(value)) {
return false;
}

value = value.replace(/\D/g, "");

var validTypes = 0x0000;

if (param.mastercard)
if (param.mastercard) {
validTypes |= 0x0001;
if (param.visa)
}
if (param.visa) {
validTypes |= 0x0002;
if (param.amex)
}
if (param.amex) {
validTypes |= 0x0004;
if (param.dinersclub)
}
if (param.dinersclub) {
validTypes |= 0x0008;
if (param.enroute)
}
if (param.enroute) {
validTypes |= 0x0010;
if (param.discover)
}
if (param.discover) {
validTypes |= 0x0020;
if (param.jcb)
}
if (param.jcb) {
validTypes |= 0x0040;
if (param.unknown)
}
if (param.unknown) {
validTypes |= 0x0080;
if (param.all)
}
if (param.all) {
validTypes = 0x0001 | 0x0002 | 0x0004 | 0x0008 | 0x0010 | 0x0020 | 0x0040 | 0x0080;

}
if (validTypes & 0x0001 && /^(5[12345])/.test(value)) { //mastercard
return value.length == 16;
return value.length === 16;
}
if (validTypes & 0x0002 && /^(4)/.test(value)) { //visa
return value.length == 16;
return value.length === 16;
}
if (validTypes & 0x0004 && /^(3[47])/.test(value)) { //amex
return value.length == 15;
return value.length === 15;
}
if (validTypes & 0x0008 && /^(3(0[012345]|[68]))/.test(value)) { //dinersclub
return value.length == 14;
return value.length === 14;
}
if (validTypes & 0x0010 && /^(2(014|149))/.test(value)) { //enroute
return value.length == 15;
return value.length === 15;
}
if (validTypes & 0x0020 && /^(6011)/.test(value)) { //discover
return value.length == 16;
return value.length === 16;
}
if (validTypes & 0x0040 && /^(3)/.test(value)) { //jcb
return value.length == 16;
return value.length === 16;
}
if (validTypes & 0x0040 && /^(2131|1800)/.test(value)) { //jcb
return value.length == 15;
return value.length === 15;
}
if (validTypes & 0x0080) { //unknown
return true;
Expand Down Expand Up @@ -375,7 +385,9 @@ jQuery.validator.addMethod("require_from_group", function(value, element, option
*
*/
jQuery.validator.addMethod("skip_or_fill_minimum", function(value, element, options) {
var validator = this;
var validator = this,
numberRequired,
selector;

var numberRequired = options[0];
var selector = options[1];
Expand Down
9 changes: 6 additions & 3 deletions demo/milk/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -85,15 +85,18 @@
success: function(label) {
// set &nbsp; as text for IE
label.html("&nbsp;").addClass("checked");
},
highlight: function(element, errorClass) {
$(element).parent().next().find("." + errorClass).removeClass("checked");
}
});

// propose username by combining first- and lastname
$("#username").focus(function() {
var firstname = $("#firstname").val();
var lastname = $("#lastname").val();
if(firstname && lastname && !this.value) {
this.value = firstname + "." + lastname;
this.value = (firstname + "." + lastname).toLowerCase();
}
});

Expand Down Expand Up @@ -220,7 +223,7 @@ <h1 id="banner"><a href="http://bassistance.de/jquery-plugins/jquery-plugin-vali
$.get("users.phps", function(response) {
serverscript = $("<pre>").hide().html( response ).appendTo("body");
})

});
</script>

Expand Down
6 changes: 5 additions & 1 deletion grunt.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,11 @@ grunt.initConfig({
files: ['test/index.html']
},
lint: {
files: ['jquery.validate.js']
files: [
'jquery.validate.js',
'additional-methods.js',
'localization/*.js'
]
},
jshint: {
options: {
Expand Down
5 changes: 1 addition & 4 deletions jquery.validate.js
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@ $.extend($.validator, {
onkeyup: function(element, event) {
if ( event.which === 9 && this.elementValue(element) === '' ) {
return;
} else if ( element.name in this.submitted || element === this.lastActive ) {
} else if ( element.name in this.submitted || element === this.lastElement ) {
this.element(element);
}
},
Expand Down Expand Up @@ -1017,9 +1017,6 @@ $.extend($.validator, {

param = typeof param === "string" && {url:param} || param;

if ( this.pending[element.name] ) {
return "pending";
}
if ( previous.old === value ) {
return previous.valid;
}
Expand Down
41 changes: 21 additions & 20 deletions localization/messages_ar.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,24 @@
* Translated default messages for the jQuery validation plugin.
* Locale: AR (Arabic; العربية)
*/
jQuery.extend(jQuery.validator.messages, {
required: "هذا الحقل إلزامي",
remote: "يرجى تصحيح هذا الحقل للمتابعة",
email: "رجاء إدخال عنوان بريد إلكتروني صحيح",
url: "رجاء إدخال عنوان موقع إلكتروني صحيح",
date: "رجاء إدخال تاريخ صحيح",
dateISO: "رجاء إدخال تاريخ صحيح (ISO)",
number: "رجاء إدخال عدد بطريقة صحيحة",
digits: "رجاء إدخال أرقام فقط",
creditcard: "رجاء إدخال رقم بطاقة ائتمان صحيح",
equalTo: "رجاء إدخال نفس القيمة",
accept: "رجاء إدخال ملف بامتداد موافق عليه",
maxlength: jQuery.validator.format("الحد الأقصى لعدد الحروف هو {0}"),
minlength: jQuery.validator.format("الحد الأدنى لعدد الحروف هو {0}"),
rangelength: jQuery.validator.format("عدد الحروف يجب أن يكون بين {0} و {1}"),
range: jQuery.validator.format("رجاء إدخال عدد قيمته بين {0} و {1}"),
max: jQuery.validator.format("رجاء إدخال عدد أقل من أو يساوي (0}"),
min: jQuery.validator.format("رجاء إدخال عدد أكبر من أو يساوي (0}")
});

(function ($) {
$.extend($.validator.messages, {
required: "هذا الحقل إلزامي",
remote: "يرجى تصحيح هذا الحقل للمتابعة",
email: "رجاء إدخال عنوان بريد إلكتروني صحيح",
url: "رجاء إدخال عنوان موقع إلكتروني صحيح",
date: "رجاء إدخال تاريخ صحيح",
dateISO: "رجاء إدخال تاريخ صحيح (ISO)",
number: "رجاء إدخال عدد بطريقة صحيحة",
digits: "رجاء إدخال أرقام فقط",
creditcard: "رجاء إدخال رقم بطاقة ائتمان صحيح",
equalTo: "رجاء إدخال نفس القيمة",
accept: "رجاء إدخال ملف بامتداد موافق عليه",
maxlength: $.validator.format("الحد الأقصى لعدد الحروف هو {0}"),
minlength: $.validator.format("الحد الأدنى لعدد الحروف هو {0}"),
rangelength: $.validator.format("عدد الحروف يجب أن يكون بين {0} و {1}"),
range: $.validator.format("رجاء إدخال عدد قيمته بين {0} و {1}"),
max: $.validator.format("رجاء إدخال عدد أقل من أو يساوي (0}"),
min: $.validator.format("رجاء إدخال عدد أكبر من أو يساوي (0}")
});
}(jQuery));
40 changes: 21 additions & 19 deletions localization/messages_bg.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,24 @@
* Translated default messages for the jQuery validation plugin.
* Locale: BG (Bulgarian; български език)
*/
jQuery.extend(jQuery.validator.messages, {
required: "Полето е задължително.",
remote: "Моля, въведете правилната стойност.",
email: "Моля, въведете валиден email.",
url: "Моля, въведете валидно URL.",
date: "Моля, въведете валидна дата.",
dateISO: "Моля, въведете валидна дата (ISO).",
number: "Моля, въведете валиден номер.",
digits: "Моля, въведете само цифри",
creditcard: "Моля, въведете валиден номер на кредитна карта.",
equalTo: "Моля, въведете същата стойност отново.",
accept: "Моля, въведете стойност с валидно разширение.",
maxlength: $.validator.format("Моля, въведете повече от {0} символа."),
minlength: $.validator.format("Моля, въведете поне {0} символа."),
rangelength: $.validator.format("Моля, въведете стойност с дължина между {0} и {1} символа."),
range: $.validator.format("Моля, въведете стойност между {0} и {1}."),
max: $.validator.format("Моля, въведете стойност по-малка или равна на {0}."),
min: $.validator.format("Моля, въведете стойност по-голяма или равна на {0}.")
});
(function ($) {
$.extend($.validator.messages, {
required: "Полето е задължително.",
remote: "Моля, въведете правилната стойност.",
email: "Моля, въведете валиден email.",
url: "Моля, въведете валидно URL.",
date: "Моля, въведете валидна дата.",
dateISO: "Моля, въведете валидна дата (ISO).",
number: "Моля, въведете валиден номер.",
digits: "Моля, въведете само цифри",
creditcard: "Моля, въведете валиден номер на кредитна карта.",
equalTo: "Моля, въведете същата стойност отново.",
accept: "Моля, въведете стойност с валидно разширение.",
maxlength: $.validator.format("Моля, въведете повече от {0} символа."),
minlength: $.validator.format("Моля, въведете поне {0} символа."),
rangelength: $.validator.format("Моля, въведете стойност с дължина между {0} и {1} символа."),
range: $.validator.format("Моля, въведете стойност между {0} и {1}."),
max: $.validator.format("Моля, въведете стойност по-малка или равна на {0}."),
min: $.validator.format("Моля, въведете стойност по-голяма или равна на {0}.")
});
}(jQuery));
48 changes: 25 additions & 23 deletions localization/messages_ca.js
Original file line number Diff line number Diff line change
@@ -1,23 +1,25 @@
/*
* Translated default messages for the jQuery validation plugin.
* Locale: CA (Catalan; català)
*/
jQuery.extend(jQuery.validator.messages, {
required: "Aquest camp és obligatori.",
remote: "Si us plau, omple aquest camp.",
email: "Si us plau, escriu una adreça de correu-e vàlida",
url: "Si us plau, escriu una URL vàlida.",
date: "Si us plau, escriu una data vàlida.",
dateISO: "Si us plau, escriu una data (ISO) vàlida.",
number: "Si us plau, escriu un número enter vàlid.",
digits: "Si us plau, escriu només dígits.",
creditcard: "Si us plau, escriu un número de tarjeta vàlid.",
equalTo: "Si us plau, escriu el maateix valor de nou.",
accept: "Si us plau, escriu un valor amb una extensió acceptada.",
maxlength: jQuery.validator.format("Si us plau, no escriguis més de {0} caracters."),
minlength: jQuery.validator.format("Si us plau, no escriguis menys de {0} caracters."),
rangelength: jQuery.validator.format("Si us plau, escriu un valor entre {0} i {1} caracters."),
range: jQuery.validator.format("Si us plau, escriu un valor entre {0} i {1}."),
max: jQuery.validator.format("Si us plau, escriu un valor menor o igual a {0}."),
min: jQuery.validator.format("Si us plau, escriu un valor major o igual a {0}.")
});
/*
* Translated default messages for the jQuery validation plugin.
* Locale: CA (Catalan; català)
*/
(function ($) {
$.extend($.validator.messages, {
required: "Aquest camp és obligatori.",
remote: "Si us plau, omple aquest camp.",
email: "Si us plau, escriu una adreça de correu-e vàlida",
url: "Si us plau, escriu una URL vàlida.",
date: "Si us plau, escriu una data vàlida.",
dateISO: "Si us plau, escriu una data (ISO) vàlida.",
number: "Si us plau, escriu un número enter vàlid.",
digits: "Si us plau, escriu només dígits.",
creditcard: "Si us plau, escriu un número de tarjeta vàlid.",
equalTo: "Si us plau, escriu el maateix valor de nou.",
accept: "Si us plau, escriu un valor amb una extensió acceptada.",
maxlength: $.validator.format("Si us plau, no escriguis més de {0} caracters."),
minlength: $.validator.format("Si us plau, no escriguis menys de {0} caracters."),
rangelength: $.validator.format("Si us plau, escriu un valor entre {0} i {1} caracters."),
range: $.validator.format("Si us plau, escriu un valor entre {0} i {1}."),
max: $.validator.format("Si us plau, escriu un valor menor o igual a {0}."),
min: $.validator.format("Si us plau, escriu un valor major o igual a {0}.")
});
}(jQuery));
Loading

0 comments on commit c9ee5d9

Please sign in to comment.