diff --git a/src/additional/dateFA.js b/src/additional/dateFA.js new file mode 100644 index 000000000..cbc959123 --- /dev/null +++ b/src/additional/dateFA.js @@ -0,0 +1,3 @@ +jQuery.validator.addMethod("dateFA", function(value, element) { + 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); +}, "Please enter a correct date"); diff --git a/src/localization/messages_fa.js b/src/localization/messages_fa.js index affed1974..b4043bf6b 100644 --- a/src/localization/messages_fa.js +++ b/src/localization/messages_fa.js @@ -9,6 +9,7 @@ email: ".لطفا یک ایمیل صحیح وارد کنید", url: "لطفا آدرس صحیح وارد کنید.", date: "لطفا یک تاریخ صحیح وارد کنید", + dateFA: "لطفا یک تاریخ صحیح وارد کنید", dateISO: "لطفا تاریخ صحیح وارد کنید (ISO).", number: "لطفا عدد صحیح وارد کنید.", digits: "لطفا تنها رقم وارد کنید", @@ -20,6 +21,8 @@ rangelength: $.validator.format("لطفا مقداری بین {0} تا {1} حرف وارد کنید."), range: $.validator.format("لطفا مقداری بین {0} تا {1} حرف وارد کنید."), max: $.validator.format("لطفا مقداری کمتر از {0} حرف وارد کنید."), - min: $.validator.format("لطفا مقداری بیشتر از {0} حرف وارد کنید.") + min: $.validator.format("لطفا مقداری بیشتر از {0} حرف وارد کنید."), + minWords: $.validator.format("لطفا حداقل {0} کلمه وارد کنید."), + maxWords: $.validator.format("لطفا حداکثر {0} کلمه وارد کنید.") }); }(jQuery)); diff --git a/test/methods.js b/test/methods.js index d0a5ec476..991f44d98 100644 --- a/test/methods.js +++ b/test/methods.js @@ -609,7 +609,29 @@ test("dateITA", function() { ok(!method( "01/01/199" ), "Invalid date ITA" ); }); +test("dateFA", function() { + var method = methodTest("dateFA"); + + ok( method( "1342/12/29" ), "Valid date FA" ); + ok( method( "1342/12/30" ), "Valid date FA" ); + ok( method( "1361/6/31" ), "Valid date FA" ); + ok( method( "1321/11/30" ), "Valid date FA" ); + ok( method( "1361/1/1" ), "Valid date FA" ); + ok( method( "1020/3/3" ), "Valid date FA" ); + ok( method( "1020/03/3" ), "Valid date FA" ); + ok( method( "1020/3/03" ), "Valid date FA" ); + ok( method( "1020/03/03" ), "Valid date FA" ); + ok( method( "1001/7/30" ), "Valid date FA" ); + + ok(!method( "1000/1/32" ), "Invalid date FA" ); + ok(!method( "1323/12/31" ), "Invalid date FA" ); + ok(!method( "1361/0/11" ), "Invalid date FA" ); + ok(!method( "63/4/4" ), "Invalid date FA" ); + ok(!method( "15/6/1361" ), "Invalid date FA" ); +}); + test("iban", function() { + var method = methodTest("iban"); ok( method( "NL20INGB0001234567"), "Valid IBAN"); ok( method( "DE68 2105 0170 0012 3456 78"), "Valid IBAN");