Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jQuery date validation MVC 4 .Net 4.5.1 UK date "must be a date" Error

I have an app that I have recently upgraded to .Net 4.5.1 and MVC 4. I am using the jQuery datepicker and jQuery.validation 1.11.1.

I am in the UK therefore the dates will be in the en-GB locale ("dd/mm/yyyy"). I have tried what is suggested here, here and here but to no avail.

I also have in my web.config:

<globalization uiCulture="en-GB" culture="en-GB" />

and have set the globalisation in IIS to en-GB, but every date that is input is validated as a US format date.

Can anyone help please?

like image 569
Declan McNulty Avatar asked Oct 22 '13 13:10

Declan McNulty


1 Answers

Changing the date validation method in jQuery.validate.js to the follwing solved the issue:

date: function (value, element) {
        $.culture = Globalize.culture("en-GB");
        var date = Globalize.parseDate(value, "dd/MM/yyyy", "en-GB");
        return this.optional(element) || 
                       !/Invalid|NaN/.test(new Date(date).toString());
    }

Tested in Chrome, FF and IE

like image 111
Declan McNulty Avatar answered Sep 20 '22 07:09

Declan McNulty