parsley-rails 1.2.4.0 → 2.0.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +6 -6
- data/lib/parsley-rails/version.rb +1 -1
- data/update.sh +6 -11
- data/vendor/assets/javascripts/parsley.i18n.bg.js +31 -41
- data/vendor/assets/javascripts/parsley.i18n.da.js +30 -40
- data/vendor/assets/javascripts/parsley.i18n.de.js +27 -35
- data/vendor/assets/javascripts/parsley.i18n.en.extra.js +6 -0
- data/vendor/assets/javascripts/parsley.i18n.en.js +30 -45
- data/vendor/assets/javascripts/parsley.i18n.es.js +29 -41
- data/vendor/assets/javascripts/parsley.i18n.fr.extra.js +6 -0
- data/vendor/assets/javascripts/parsley.i18n.fr.js +30 -41
- data/vendor/assets/javascripts/parsley.i18n.he.extra.js +6 -0
- data/vendor/assets/javascripts/parsley.i18n.he.js +31 -42
- data/vendor/assets/javascripts/parsley.i18n.id.js +30 -37
- data/vendor/assets/javascripts/parsley.i18n.it.extra.js +6 -0
- data/vendor/assets/javascripts/parsley.i18n.it.js +30 -37
- data/vendor/assets/javascripts/parsley.i18n.ja.js +30 -40
- data/vendor/assets/javascripts/parsley.i18n.nl.js +37 -41
- data/vendor/assets/javascripts/parsley.i18n.pl.js +33 -40
- data/vendor/assets/javascripts/parsley.i18n.pt-br.js +33 -0
- data/vendor/assets/javascripts/parsley.i18n.ru.js +38 -44
- data/vendor/assets/javascripts/parsley.i18n.sv.extra.js +6 -0
- data/vendor/assets/javascripts/parsley.i18n.sv.js +30 -42
- data/vendor/assets/javascripts/parsley.i18n.zh_cn.extra.js +6 -0
- data/vendor/assets/javascripts/parsley.i18n.zh_cn.js +30 -43
- data/vendor/assets/javascripts/parsley.js +2009 -1507
- data/vendor/assets/javascripts/parsley.remote.js +2351 -0
- metadata +16 -32
- data/vendor/assets/javascripts/parsley.extend.js +0 -167
- data/vendor/assets/javascripts/parsley.i18n.ar.js +0 -44
- data/vendor/assets/javascripts/parsley.i18n.ca.js +0 -40
- data/vendor/assets/javascripts/parsley.i18n.cs.js +0 -45
- data/vendor/assets/javascripts/parsley.i18n.cy.js +0 -38
- data/vendor/assets/javascripts/parsley.i18n.et.js +0 -46
- data/vendor/assets/javascripts/parsley.i18n.fa.js +0 -40
- data/vendor/assets/javascripts/parsley.i18n.fi.js +0 -40
- data/vendor/assets/javascripts/parsley.i18n.hr.js +0 -48
- data/vendor/assets/javascripts/parsley.i18n.hu.js +0 -44
- data/vendor/assets/javascripts/parsley.i18n.is.js +0 -32
- data/vendor/assets/javascripts/parsley.i18n.kr.js +0 -48
- data/vendor/assets/javascripts/parsley.i18n.lt.js +0 -40
- data/vendor/assets/javascripts/parsley.i18n.mn.js +0 -43
- data/vendor/assets/javascripts/parsley.i18n.no.js +0 -44
- data/vendor/assets/javascripts/parsley.i18n.pt_br.js +0 -42
- data/vendor/assets/javascripts/parsley.i18n.ro.js +0 -44
- data/vendor/assets/javascripts/parsley.i18n.th.js +0 -44
- data/vendor/assets/javascripts/parsley.i18n.tr.js +0 -48
- data/vendor/assets/javascripts/parsley.i18n.ua.js +0 -35
- data/vendor/assets/javascripts/parsley.i18n.vn.js +0 -35
- data/vendor/assets/javascripts/parsley.i18n.zh_tw.js +0 -39
- data/vendor/assets/javascripts/parsley.l10n.es.js +0 -183
@@ -1,44 +0,0 @@
|
|
1
|
-
window.ParsleyConfig = window.ParsleyConfig || {};
|
2
|
-
|
3
|
-
(function ($) {
|
4
|
-
window.ParsleyConfig = $.extend( true, {}, window.ParsleyConfig, {
|
5
|
-
messages: {
|
6
|
-
// parsley //////////////////////////////////////
|
7
|
-
defaultMessage: "Această valoare nu pare validă."
|
8
|
-
, type: {
|
9
|
-
email: "Această valoare ar trebui să fie un email valid."
|
10
|
-
, url: "Această valoare ar trebui să fie un url valid."
|
11
|
-
, urlstrict: "Această valoare ar trebui să fie un url valid."
|
12
|
-
, number: "Această valoare ar trebui să fie un număr valid."
|
13
|
-
, digits: "Această valoare ar trebui să fie compusă doar din cifre."
|
14
|
-
, dateIso: "Această valoare ar trebui să fie o dată validă (YYYY-MM-DD)."
|
15
|
-
, alphanum: "Această valoare ar trebui să fie alfanumerică."
|
16
|
-
, phone: "Această valoare ar trebui să fie un număr de telefon valid."
|
17
|
-
}
|
18
|
-
, notnull: "Această valoare nu ar trebui să fie null."
|
19
|
-
, notblank: "Această valoare nu ar trebui să fie necompletată."
|
20
|
-
, required: "Această valoare este obligatorie."
|
21
|
-
, regexp: "Această valoare nu pare validă."
|
22
|
-
, min: "Această valoare ar trebui să fie mai mare sau egală cu %s."
|
23
|
-
, max: "Această valoare ar trebui să fie mai mică sau egală cu %s."
|
24
|
-
, range: "Această valoare trebuie să fie între %s şi %s."
|
25
|
-
, minlength: "Această valoare este prea scurtă. Ar trebui să aibă %s caractere sau mai mult."
|
26
|
-
, maxlength: "Această valoare este prea lungă. Ar trebui să aibă %s caractere sau mai puţin."
|
27
|
-
, rangelength: "Lungimea acestei valori nu este validă. Ar trebui să aibă între %s şi %s caractere."
|
28
|
-
, mincheck: "Trebuie să selectaţi cel puţin %s opţiuni."
|
29
|
-
, maxcheck: "Trebuie să selectaţi %s opţiuni sau mai puţin."
|
30
|
-
, rangecheck: "Trebuie să selectaţi între %s şi %s opţiuni."
|
31
|
-
, equalto: "Aceste valori ar trebui să fie identice."
|
32
|
-
|
33
|
-
// parsley.extend ///////////////////////////////
|
34
|
-
, minwords: "Această valoare ar trebui să aibă cel puţin %s cuvinte."
|
35
|
-
, maxwords: "Această valoare ar trebui să aibă cel mult %s cuvinte."
|
36
|
-
, rangewords: "Această valoare ar trebui să aibă între %s şi %s cuvinte."
|
37
|
-
, greaterthan: "Această valoare ar trebui să fie mai mare decât %s."
|
38
|
-
, lessthan: "Această valoare ar trebui să fie mai mică decât %s."
|
39
|
-
, beforedate: "Această valoare ar trebui să fie înainte de %s."
|
40
|
-
, afterdate: "Această valoare ar trebui să fie după %s."
|
41
|
-
, americandate: "Această valoare ar trebui să fie o dată validă (MM/DD/YYYY)."
|
42
|
-
}
|
43
|
-
});
|
44
|
-
}(window.jQuery || window.Zepto));
|
@@ -1,44 +0,0 @@
|
|
1
|
-
window.ParsleyConfig = window.ParsleyConfig || {};
|
2
|
-
|
3
|
-
(function ($) {
|
4
|
-
window.ParsleyConfig = $.extend( true, {}, window.ParsleyConfig, {
|
5
|
-
messages: {
|
6
|
-
// parsley //////////////////////////////////////
|
7
|
-
defaultMessage: "ค่านี้ดูเหมือนว่าจะไม่ถูกต้อง"
|
8
|
-
, type: {
|
9
|
-
email: "ค่านี้ควรจะเป็นอีเมลที่ถูกต้อง"
|
10
|
-
, url: "ค่านี้ควรจะเป็น url ที่ถูกต้อง"
|
11
|
-
, urlstrict: "ค่านี้ควรจะเป็น url ที่ถูกต้อง"
|
12
|
-
, number: "ค่านี้ควรจะเป็นตัวเลขที่ถูกต้อง"
|
13
|
-
, digits: "ค่านี้ควรจะเป็นเลขโดด"
|
14
|
-
, dateIso: "ค่านี้ควรจะเป็นวันที่ที่ถูกต้อง (YYYY-MM-DD)"
|
15
|
-
, alphanum: "ค่านี้ควรจะเป็นตัวอักษรเลข"
|
16
|
-
, phone: "ค่านี้ควรจะเป็นหมายเลขโทรศัพท์ที่ถูกต้อง"
|
17
|
-
}
|
18
|
-
, notnull: "ค่านี้ไม่ควรจะไม่มีค่า"
|
19
|
-
, notblank: "ค่านี้ไม่ควรจะว่าง"
|
20
|
-
, required: "ค่านี้จำเป็น"
|
21
|
-
, regexp: "ค่านี้ดูเหมือนว่าจะไม่ถูกต้อง"
|
22
|
-
, min: "ค่านี้ควรจะมากกว่าหรือเท่ากับ %s"
|
23
|
-
, max: "ค่านี้ควรจะน้อยกว่าหรือเท่ากับ %s"
|
24
|
-
, range: "ค่านี้ควรอยู่ระหว่าง %s และ %s"
|
25
|
-
, minlength: "ค่านี้สั้นเกินไป, ควรมี %s อักขระหรือมากกว่า"
|
26
|
-
, maxlength: "ค่านี้ยาวเกินไป, ควรมี %s อักขระหรือน้อยกว่า"
|
27
|
-
, rangelength: "ความยาวของค่านี้ไม่ถูกต้อง, ควรมีความยาวอักขระระหว่าง %s และ %s"
|
28
|
-
, mincheck: "คุณจะต้องเลือกอย่างน้อย %s ตัวเลือก"
|
29
|
-
, maxcheck: "คุณจะต้องเลือก %s ตัวเลือกหรือน้อยกว่า"
|
30
|
-
, rangecheck: "คุณจะต้องเลือกระหว่าง %s และ %s ตัวเลือก"
|
31
|
-
, equalto: "ค่านี้ควรจะมีค่าเหมือนกัน"
|
32
|
-
|
33
|
-
// parsley.extend ///////////////////////////////
|
34
|
-
, minwords: "ค่านี้ควรมีจำนวนคำอย่างน้อย %s คำ"
|
35
|
-
, maxwords: "่คานี้ควรมีจำนวนคำไม่เกิน %s คำ"
|
36
|
-
, rangewords: "ค่านี้ควรอยู่ระหว่าง %s และ %s คำ"
|
37
|
-
, greaterthan: "ค่านี้ควรมากกว่า %s"
|
38
|
-
, lessthan: "ค่านี้ควรน้อยกว่า %s"
|
39
|
-
, beforedate: "วันที่นี้ควรก่อน %s"
|
40
|
-
, afterdate: "วันที่นี้ควรหลัง %s"
|
41
|
-
, americandate: "ค่านี้ควรเป็นวันที่ที่ถูกต้อง (MM/DD/YYYY)"
|
42
|
-
}
|
43
|
-
});
|
44
|
-
}(window.jQuery || window.Zepto));
|
@@ -1,48 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* /!\ Created by Murat Akdeniz: www.webfikirleri.com /!\
|
3
|
-
*/
|
4
|
-
|
5
|
-
window.ParsleyConfig = window.ParsleyConfig || {};
|
6
|
-
|
7
|
-
(function ($) {
|
8
|
-
window.ParsleyConfig = $.extend( true, {}, window.ParsleyConfig, {
|
9
|
-
messages: {
|
10
|
-
// parsley //////////////////////////////////////
|
11
|
-
defaultMessage: "Bu değer geçersiz görünüyor."
|
12
|
-
, type: {
|
13
|
-
email: "Geçerli bir e-posta adresi girmelisiniz."
|
14
|
-
, url: "Geçerli bir URL girmelisiniz."
|
15
|
-
, urlstrict: "Geçerli bir URL girmelisiniz."
|
16
|
-
, number: "Bu bölüme geçerli bir numara girmelisiniz."
|
17
|
-
, digits: "Bu bölüm basamaklardan oluşmalıdır."
|
18
|
-
, dateIso: "Bu alan geçerli bir tarih olmalıdır (YYYY-MM-DD)."
|
19
|
-
, alphanum: "Bu alan alfa sayısal karakterlerden oluşmalıdır."
|
20
|
-
, phone: "Bu alan geçerli bir telefon numarası olmalıdır."
|
21
|
-
}
|
22
|
-
, notnull: "Bu alan boş olmamalıdır."
|
23
|
-
, notblank: "Bu alanı boş bırakamazsınız."
|
24
|
-
, required: "Bu alan gereklidir."
|
25
|
-
, regexp: "Değer geçersiz görünüyor ."
|
26
|
-
, min: "Bu alan %s değerine eşit ya da küçük olmalıdır."
|
27
|
-
, max: "Bu alan %s değerine eşit ya da büyük olmalıdır."
|
28
|
-
, range: "Bu alanın değeri %s ile %s arasında olmalıdır."
|
29
|
-
, minlength: "Bu alan çok kısa. %s karaktere eşit ya da fazla olmalıdır."
|
30
|
-
, maxlength: "Bu alan çok uzun. %s karaktere eşit ya da küçük olmalıdır."
|
31
|
-
, rangelength: "Bu alanın uzunluğu %s ile %s arasında olmalıdır."
|
32
|
-
, mincheck: "En az %s seçenek seçmelisiniz."
|
33
|
-
, maxcheck: "En fazla %s seçenek seçebilirsiniz."
|
34
|
-
, rangecheck: "En az %s en fazla %s seçenek seçebilirsiniz."
|
35
|
-
, equalto: "Bu değer eşit olmalıdır."
|
36
|
-
|
37
|
-
// parsley.extend ///////////////////////////////
|
38
|
-
, minwords: "Bu alan en az %s kelime içermelidir."
|
39
|
-
, maxwords: "Bu alan en fazla %s kelime içermelidir."
|
40
|
-
, rangewords: "Bu alan %s ile %s kelime arasında olmalıdır."
|
41
|
-
, greaterthan: "Bu bölüm %s karakterden büyük olmalıdır."
|
42
|
-
, lessthan: "Bu alan %s değerinden küçük olmalıdır."
|
43
|
-
, beforedate: "Bu alan %s tarihinden önce olmalıdır."
|
44
|
-
, afterdate: "Bu alan %s tarihinden sonra olmalıdır."
|
45
|
-
, americandate: "Bu alan geçerli bir tarih olmalıdır (MM/DD/YYYY)."
|
46
|
-
}
|
47
|
-
});
|
48
|
-
}(window.jQuery || window.Zepto));
|
@@ -1,35 +0,0 @@
|
|
1
|
-
window.ParsleyConfig = window.ParsleyConfig || {};
|
2
|
-
|
3
|
-
(function ($) {
|
4
|
-
window.ParsleyConfig = $.extend( true, {}, window.ParsleyConfig, {
|
5
|
-
messages: {
|
6
|
-
// parsley //////////////////////////////////////
|
7
|
-
defaultMessage: "Поле заповнене некорректно."
|
8
|
-
, type: {
|
9
|
-
email: "Поле повинно бути адресою електронної пошти."
|
10
|
-
, url: "Поле повинно бути посиланням на сайт."
|
11
|
-
, urlstrict: "Поле повинно бути посиланням на сайт."
|
12
|
-
, number: "Поле повинно бути числом."
|
13
|
-
, digits: "Поле повинно містити тільки цифри."
|
14
|
-
, dateIso: "Поле повинно бути датою у форматі (РРРР-ММ-ДД)."
|
15
|
-
, alphanum: "Поле повинно містити тільки цифри і літери."
|
16
|
-
}
|
17
|
-
, notnull: "Поле повинно бути не нульовим."
|
18
|
-
, notblank: "Поле не повинно бути порожнім."
|
19
|
-
, required: "Поле обов'язкове для заповнення."
|
20
|
-
, regexp: "Поле заповнено некорректно."
|
21
|
-
, min: "Значення поля повинно бути більше, ніж %s."
|
22
|
-
, max: "Значення поля повинно бути меньше, ніж %s."
|
23
|
-
, range: "Значення поля повинно бути між %s та %s."
|
24
|
-
, minlength: "Довжина поля повинна бути щонайменьше %s символів(а)."
|
25
|
-
, maxlength: "Довжина поля повинна бути щонайбільше %s символів(а)."
|
26
|
-
, rangelength: "Довжина поля повинна бути від %s і до %s символів(а)."
|
27
|
-
, mincheck: "Необхідно вибрати неменьше, ніж %s пункт(ів)."
|
28
|
-
, maxcheck: "Необхідно вибрати небільше, ніж %s пункт(ів)."
|
29
|
-
, rangecheck: "Необхідно вибрати від %s і до %s пунктів."
|
30
|
-
, equalto: "Значення полів повинно бути однаковим."
|
31
|
-
|
32
|
-
// parsley.extend ///////////////////////////////
|
33
|
-
}
|
34
|
-
});
|
35
|
-
}(window.jQuery || window.Zepto));
|
@@ -1,35 +0,0 @@
|
|
1
|
-
window.ParsleyConfig = window.ParsleyConfig || {};
|
2
|
-
|
3
|
-
(function ($) {
|
4
|
-
window.ParsleyConfig = $.extend( true, {}, window.ParsleyConfig, {
|
5
|
-
messages: {
|
6
|
-
// parsley //////////////////////////////////////
|
7
|
-
defaultMessage: "Thông tin này không hợp lệ."
|
8
|
-
, type: {
|
9
|
-
email: "Email không hợp lệ."
|
10
|
-
, url: "Url không hợp lệ."
|
11
|
-
, urlstrict: "Yêu cầu nhập địa chỉ url."
|
12
|
-
, number: "Yêu cầu nhập giá trị kiểu số."
|
13
|
-
, digits: "Yêu cầu nhập vào các chữ số."
|
14
|
-
, dateIso: "Yêu cầu nhập ngày tháng theo chuẩn sau (YYYY-MM-DD)."
|
15
|
-
, alphanum: "Yêu cầu nhập chữ cái hoặc chữ số."
|
16
|
-
}
|
17
|
-
, notnull: "Thông tin này chưa nhập."
|
18
|
-
, notblank: "Thông tin này không được để trống."
|
19
|
-
, required: "Thông tin này là bắt buộc."
|
20
|
-
, regexp: "Thông tin này không hợp lệ."
|
21
|
-
, min: "Giá trị này phải lớn hơn %s."
|
22
|
-
, max: "Giá trị này phải nhỏ hơn %s."
|
23
|
-
, range: "Giá trị này phải nằm trong khoảng từ %s đến %s."
|
24
|
-
, minlength: "Chuỗi nhập vào quá ngắn. Yêu cầu tối thiểu %s ký tự."
|
25
|
-
, maxlength: "Chuỗi nhập vào quá dài. Yêu cầu tối đa %s ký tự."
|
26
|
-
, rangelength: "Chuỗi nhập vào không hợp lệ. Yêu cầu độ dài trong khoảng từ %s đến %s ký tự."
|
27
|
-
, mincheck: "Không được chọn ít hơn %s lựa chọn."
|
28
|
-
, maxcheck: "Không được chọn nhiều hơn %s lựa chọn."
|
29
|
-
, rangecheck: "Phải chọn trong khoảng từ %s đến %s lựa chọn."
|
30
|
-
, equalto: "Giá trị phải trùng khớp."
|
31
|
-
|
32
|
-
// parsley.extend ///////////////////////////////
|
33
|
-
}
|
34
|
-
});
|
35
|
-
}(window.jQuery || window.Zepto));
|
@@ -1,39 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* /!\ This file is just an example template to create/update your own language file /!\
|
3
|
-
*/
|
4
|
-
|
5
|
-
window.ParsleyConfig = window.ParsleyConfig || {};
|
6
|
-
|
7
|
-
(function ($) {
|
8
|
-
window.ParsleyConfig = $.extend( true, {}, window.ParsleyConfig, {
|
9
|
-
messages: {
|
10
|
-
// parsley //////////////////////////////////////
|
11
|
-
defaultMessage: "欄位不正確"
|
12
|
-
, type: {
|
13
|
-
email: "欄位不是正確的 Email "
|
14
|
-
, url: "欄位不是正確的 URL "
|
15
|
-
, urlstrict: "欄位不是正確的 URL "
|
16
|
-
, number: "欄位不是合法的數字"
|
17
|
-
, digits: "欄位不是單獨的数字"
|
18
|
-
, dateIso: "欄位不是正確的日期格式(YYYY-MM-DD)."
|
19
|
-
, alphanum: "欄位只能包含英文字母和數字"
|
20
|
-
}
|
21
|
-
, notnull: "欄位不可為 null"
|
22
|
-
, notblank: "欄位不可留空"
|
23
|
-
, required: "此為必填欄位"
|
24
|
-
, regexp: "欄位不合法"
|
25
|
-
, min: "欄位應該大於 %s"
|
26
|
-
, max: "欄位應該小於 %s."
|
27
|
-
, range: "欄位應該大於 %s 並小於 %s."
|
28
|
-
, minlength: "欄位過短,長度應該大於等於 %s"
|
29
|
-
, maxlength: "欄位過長,長度應該小於等於 %s"
|
30
|
-
, rangelength: "欄位長度錯誤,應該在 %s 和 %s 之間"
|
31
|
-
, mincheck: "至少要選擇 %s 個選項"
|
32
|
-
, maxcheck: "最多只能選擇 %s 個選項"
|
33
|
-
, rangecheck: "你只能選擇 %s 到 %s 個選項"
|
34
|
-
, equalto: "欄位的值不一致"
|
35
|
-
|
36
|
-
// parsley.extend ///////////////////////////////
|
37
|
-
}
|
38
|
-
});
|
39
|
-
}(window.jQuery || window.Zepto));
|
@@ -1,183 +0,0 @@
|
|
1
|
-
window.ParsleyConfig = window.ParsleyConfig || {};
|
2
|
-
|
3
|
-
(function ($) {
|
4
|
-
window.ParsleyConfig = $.extend( true, {}, window.ParsleyConfig, {
|
5
|
-
validators: {
|
6
|
-
es_dni: function () {
|
7
|
-
return {
|
8
|
-
validate: function ( val, elem, self ) {
|
9
|
-
var letter, letters, number;
|
10
|
-
|
11
|
-
letters = 'TRWAGMYFPDXBNJZSQVHLCKET';
|
12
|
-
val = val.replace("-", "");
|
13
|
-
val = val.toUpperCase();
|
14
|
-
number = val.substring(0, val.length - 1);
|
15
|
-
letter = val[val.length - 1];
|
16
|
-
|
17
|
-
if (!/\d+/.test(number)) {
|
18
|
-
return false;
|
19
|
-
}
|
20
|
-
if (!letters.indexOf(letter) < 0) {
|
21
|
-
return false;
|
22
|
-
}
|
23
|
-
return letter == letters[parseInt(number, 10) % 23];
|
24
|
-
}
|
25
|
-
, priority: 32
|
26
|
-
}
|
27
|
-
}
|
28
|
-
, es_postalcode: function () {
|
29
|
-
return {
|
30
|
-
validate: function(val, elem, self) {
|
31
|
-
var provinceCode;
|
32
|
-
|
33
|
-
if (!/^\d{5}$/.test(val)) {
|
34
|
-
return false;
|
35
|
-
}
|
36
|
-
provinceCode = parseInt(val.substring(0,2), 10);
|
37
|
-
if (provinceCode > 52 || provinceCode < 1) {
|
38
|
-
return false;
|
39
|
-
}
|
40
|
-
return true;
|
41
|
-
}
|
42
|
-
, priority: 32
|
43
|
-
}
|
44
|
-
}
|
45
|
-
, es_ssn: function () {
|
46
|
-
return {
|
47
|
-
validate: function(val, elem, self) {
|
48
|
-
var a, b, c, code, d;
|
49
|
-
|
50
|
-
val = val.replace(/[ \/-]/g, "");
|
51
|
-
if (!/^\d{12}$/.test(val)) {
|
52
|
-
return false;
|
53
|
-
}
|
54
|
-
|
55
|
-
a = val.substring(0, 2);
|
56
|
-
b = val.substring(2, 10);
|
57
|
-
code = val.substring(10, 12);
|
58
|
-
|
59
|
-
if (parseInt(b, 10) < 10000000) {
|
60
|
-
d = parseInt(b, 10) + (parseInt(a, 10) * 10000000);
|
61
|
-
} else {
|
62
|
-
d = a + b.replace(/0*$/, "");
|
63
|
-
}
|
64
|
-
c = parseInt(d) % 97;
|
65
|
-
return c === parseInt(code);
|
66
|
-
}
|
67
|
-
, priority: 32
|
68
|
-
}
|
69
|
-
}
|
70
|
-
, es_ccc: function () {
|
71
|
-
return {
|
72
|
-
validate: function(val, elem, self) {
|
73
|
-
var account, controlCode, entity, firstCode, firstCodeMod,
|
74
|
-
firstCodeResult, office, secondCode, secondCodeMod,
|
75
|
-
secondCodeResult, weight, x;
|
76
|
-
|
77
|
-
val = val.replace(/[ -]/g, "");
|
78
|
-
if (!/\d{20}$/.test(val)) {
|
79
|
-
return false;
|
80
|
-
}
|
81
|
-
|
82
|
-
weight = [1, 2, 4, 8, 5, 10, 9, 7, 3, 6];
|
83
|
-
entity = val.substring(0, 4);
|
84
|
-
office = val.substring(4, 8);
|
85
|
-
controlCode = val.substring(8, 10);
|
86
|
-
account = val.substr(10, 20);
|
87
|
-
firstCode = "00" + entity + office;
|
88
|
-
secondCode = account;
|
89
|
-
firstCodeResult = 0;
|
90
|
-
for (x = 0; x < 10; x++) {
|
91
|
-
firstCodeResult += parseInt(firstCode[x], 10) * weight[x];
|
92
|
-
}
|
93
|
-
firstCodeMod = firstCodeResult % 11;
|
94
|
-
firstCodeResult = 11 - firstCodeMod;
|
95
|
-
if (firstCodeResult === 10) {
|
96
|
-
firstCodeResult = 1;
|
97
|
-
}
|
98
|
-
if (firstCodeResult === 11) {
|
99
|
-
firstCodeResult = 0;
|
100
|
-
}
|
101
|
-
secondCodeResult = 0;
|
102
|
-
for (x = 0; x < 10; x++) {
|
103
|
-
secondCodeResult += parseInt(secondCode[x], 10) * weight[x];
|
104
|
-
}
|
105
|
-
secondCodeMod = secondCodeResult % 11;
|
106
|
-
secondCodeResult = 11 - secondCodeMod;
|
107
|
-
if (secondCodeResult === 10) {
|
108
|
-
secondCodeResult = 1;
|
109
|
-
}
|
110
|
-
if (secondCodeResult === 11) {
|
111
|
-
secondCodeResult = 0;
|
112
|
-
}
|
113
|
-
if (firstCodeResult === parseInt(controlCode[0]) && secondCodeResult === parseInt(controlCode[1])) {
|
114
|
-
return true;
|
115
|
-
}
|
116
|
-
return false;
|
117
|
-
}
|
118
|
-
, priority: 32
|
119
|
-
}
|
120
|
-
}
|
121
|
-
, es_cif: function () {
|
122
|
-
return {
|
123
|
-
validate: function(val, elem, self) {
|
124
|
-
var oddSum, evenSum, totalSum, controlCode, controlDigit, reminder,
|
125
|
-
letter, number, oddNumbers, provinceCode, x, _i, _len;
|
126
|
-
|
127
|
-
val = val.replace(/-/g, "").toUpperCase();
|
128
|
-
|
129
|
-
if (!/^[ABCDEFGHJKLMNPRQSUVW]\d{7}[\d[ABCDEFGHIJ]$/.test(val)) {
|
130
|
-
return false;
|
131
|
-
}
|
132
|
-
|
133
|
-
letter = val.substring(0, 1);
|
134
|
-
provinceCode = val.substring(1, 3);
|
135
|
-
number = val.substring(3, 8);
|
136
|
-
controlCode = val.substring(8, 9);
|
137
|
-
|
138
|
-
if (/[CKLMNPQRSW]/.test(letter) && /\d/.test(controlCode)) {
|
139
|
-
return false;
|
140
|
-
}
|
141
|
-
if (/[ABDEFGHJUV]/.test(letter) && /[A-Z]/.test(controlCode)) {
|
142
|
-
return false;
|
143
|
-
}
|
144
|
-
|
145
|
-
oddSum = parseInt(provinceCode[1], 10) + parseInt(number[1], 10) + parseInt(number[3], 10);
|
146
|
-
|
147
|
-
evenSum = 0;
|
148
|
-
oddNumbers = [
|
149
|
-
parseInt(provinceCode[0], 10),
|
150
|
-
parseInt(number[0], 10),
|
151
|
-
parseInt(number[2], 10),
|
152
|
-
parseInt(number[4], 10)
|
153
|
-
];
|
154
|
-
for (_i = 0, _len = oddNumbers.length; _i < _len; _i++) {
|
155
|
-
number = oddNumbers[_i];
|
156
|
-
x = number * 2;
|
157
|
-
if (x >= 10) {
|
158
|
-
x = (x % 10) + 1;
|
159
|
-
}
|
160
|
-
evenSum += x;
|
161
|
-
}
|
162
|
-
totalSum = oddSum + evenSum;
|
163
|
-
reminder = totalSum % 10;
|
164
|
-
if (reminder !== 0) { controlDigit = 10 - reminder; } else { controlDigit = 0; }
|
165
|
-
|
166
|
-
if (controlCode !== controlDigit.toString() && 'JABCDEFGHI'[controlDigit] !== controlCode) {
|
167
|
-
return false;
|
168
|
-
}
|
169
|
-
return true;
|
170
|
-
}
|
171
|
-
, priority: 32
|
172
|
-
}
|
173
|
-
}
|
174
|
-
}
|
175
|
-
, messages: {
|
176
|
-
es_dni: "This value should be a valid DNI (Example: 00000000T)."
|
177
|
-
, es_cif: "This value should be a valid CIF (Example: B00000000)."
|
178
|
-
, es_postalcode: "This value should be a valid spanish postal code (Example: 28080)."
|
179
|
-
, es_ssn: "This value should be a valid spanish social security number."
|
180
|
-
, es_ccc: "This value should be a valid spanish bank client account code."
|
181
|
-
}
|
182
|
-
});
|
183
|
-
}(window.jQuery || window.Zepto));
|