Custom date validation form using jQuery datepicker (can't get rid of date validation in the USA)

I'm almost there. I created a localized jQuery datepicker, added a custom format check, but I can't get rid of the default date format check in the USA.

I pass my date field as follows:

... @Html.EditorFor(m => m.JobDate) @Html.ValidationMessageFor(m => m.JobDate) ... 

and HTML looks like this:

 <input class="date hasDatepicker" data-val="true" data-val-required="The JobDate field is required." id="JobDate" name="JobDate" value="28.6.2011" type="text"> <span class="field-validation-valid" data-valmsg-for="JobDate" data-valmsg-replace="true"></span> 

Finally, I hook (in my javascript file) a jQuery dump control to handle my date field:

 $(document).ready(function () { jQuery.validator.addMethod( "hrDateValidator", function(value, element) { try { jQuery.datepicker.parseDate( 'dmyy', value); return true; } catch(e){return false;} }, "Datum nije u formatu dmgggg" ); $('.date').datepicker({ dateFormat: "dmyy" }); $.datepicker.setDefaults($.datepicker.regional["hr"]); $('.date').rules("remove"); $('.date').rules("add", { hrDateValidator: true }); }); 

However, I now have two validation rules in force in the date field, US date, and this user date field.

I can’t get rid of this US date rule, why this line is $('.date').rules("remove"); doesn't delete date rule in USA?

Thank,

Igor

+6
jquery-validate jquery-ui-datepicker asp.net-mvc-3 razor
Jun 28 2018-11-11T00:
source share
2 answers

You can try to overwrite the date check method instead of adding a new one:

 jQuery.validator.methods["date"] = function (value, element) { ... } 
+13
Jun 28 '11 at 12:10
source share
  date: function (value, element) { try { jQuery.datepicker.parseDate('dmyy', value); return true; } catch (e) { return false; } }, 
+3
Jan 02 '13 at
source share



All Articles