Skip to content

Commit b258647

Browse files
pyloverjzaefferer
authored andcommitted
Additionals: Add persian date method
Also add localization for minWords and maxWords in persian. Closes jquery-validation#1038
1 parent 1c96273 commit b258647

File tree

3 files changed

+28
-1
lines changed

3 files changed

+28
-1
lines changed

src/additional/dateFA.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
jQuery.validator.addMethod("dateFA", function(value, element) {
2+
return this.optional(element) || /^[1-4]\d{3}\/((0?[1-6]\/((3[0-1])|([1-2][0-9])|(0?[1-9])))|((1[0-2]|(0?[7-9]))\/(30|([1-2][0-9])|(0?[1-9]))))$/.test(value);
3+
}, "Please enter a correct date");

src/localization/messages_fa.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
email: ".لطفا یک ایمیل صحیح وارد کنید",
1010
url: "لطفا آدرس صحیح وارد کنید.",
1111
date: "لطفا یک تاریخ صحیح وارد کنید",
12+
dateFA: "لطفا یک تاریخ صحیح وارد کنید",
1213
dateISO: "لطفا تاریخ صحیح وارد کنید (ISO).",
1314
number: "لطفا عدد صحیح وارد کنید.",
1415
digits: "لطفا تنها رقم وارد کنید",
@@ -20,6 +21,8 @@
2021
rangelength: $.validator.format("لطفا مقداری بین {0} تا {1} حرف وارد کنید."),
2122
range: $.validator.format("لطفا مقداری بین {0} تا {1} حرف وارد کنید."),
2223
max: $.validator.format("لطفا مقداری کمتر از {0} حرف وارد کنید."),
23-
min: $.validator.format("لطفا مقداری بیشتر از {0} حرف وارد کنید.")
24+
min: $.validator.format("لطفا مقداری بیشتر از {0} حرف وارد کنید."),
25+
minWords: $.validator.format("لطفا حداقل {0} کلمه وارد کنید."),
26+
maxWords: $.validator.format("لطفا حداکثر {0} کلمه وارد کنید.")
2427
});
2528
}(jQuery));

test/methods.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -603,6 +603,27 @@ test("dateITA", function() {
603603
ok(!method( "01/01/199" ), "Invalid date ITA" );
604604
});
605605

606+
test("dateFA", function() {
607+
var method = methodTest("dateFA");
608+
609+
ok( method( "1342/12/29" ), "Valid date FA" );
610+
ok( method( "1342/12/30" ), "Valid date FA" );
611+
ok( method( "1361/6/31" ), "Valid date FA" );
612+
ok( method( "1321/11/30" ), "Valid date FA" );
613+
ok( method( "1361/1/1" ), "Valid date FA" );
614+
ok( method( "1020/3/3" ), "Valid date FA" );
615+
ok( method( "1020/03/3" ), "Valid date FA" );
616+
ok( method( "1020/3/03" ), "Valid date FA" );
617+
ok( method( "1020/03/03" ), "Valid date FA" );
618+
ok( method( "1001/7/30" ), "Valid date FA" );
619+
620+
ok(!method( "1000/1/32" ), "Invalid date FA" );
621+
ok(!method( "1323/12/31" ), "Invalid date FA" );
622+
ok(!method( "1361/0/11" ), "Invalid date FA" );
623+
ok(!method( "63/4/4" ), "Invalid date FA" );
624+
ok(!method( "15/6/1361" ), "Invalid date FA" );
625+
});
626+
606627
test("iban", function() {
607628
var method = methodTest("iban");
608629
ok( method( "NL20INGB0001234567"), "Valid IBAN");

0 commit comments

Comments
 (0)