私も最近似たようなことをしています。このトピックに関する Scott Hanselman のブログのアドバイスに従うことから始めました。
http://www.hanselman.com/blog/GlobalizationInternationalizationAndLocalizationInASPNETMVC3JavaScriptAndJQueryPart1.aspx
jQuery Global の代わりに Globalize を使用するには、いくつかの変更を加える必要がありました (現在、jQuery Global は廃止されています)。役に立つ場合に備えて、次のブログ投稿にこれを書きました。
http://icanmakethiswork.blogspot.co.uk/2012/09/globalize-and-jquery-validate.html
私のブログ投稿には、このスクリプト jquery.validate.globalize.js へのリンクが掲載されています。これにより、jQuery Validate は数値/日付/範囲の解析に Globalize を使用するようになります。これの日付部分は、おそらく問題を解決するはずの部分です:
https://raw.github.com/gist/3651751/68cbccd0fdd4725a8d6fd1b5568bb33d27fb1eff/jquery.validate.globalize.js
/// <reference path="jquery-1.7.2.js" />
/// <reference path="jquery.validate.js" />
/// <reference path="globalize.js" />
/*!
* Monkey patch for jquery.validate.js to make use of Globalize.js number and date parsing
*/
$(document).ready(function () {
var currentCulture = $("meta[name='accept-language']").prop("content");
// Set Globalize to the current culture driven by the meta tag (if any)
if (currentCulture) {
Globalize.culture(currentCulture);
}
//Tell the validator that we want numbers parsed using Globalize.js
$.validator.methods.number = function (value, element) {
if (Globalize.parseFloat(value)) {
return true;
}
return false;
}
//Tell the validator that we want dates parsed using Globalize.js
$.validator.methods.date = function (value, element) {
if (Globalize.parseDate(value)) {
return true;
}
return false;
}
//Fix the range to use globalized methods
jQuery.extend(jQuery.validator.methods, {
range: function (value, element, param) {
//Use the Globalization plugin to parse the value
var val = Globalize.parseFloat(value);
return this.optional(element) || (val >= param[0] && val <= param[1]);
}
});
});