我使用 jquery 验证并有一个日期字段,使用 jquery 我将 datepicker 应用到编辑字段:
HTML:
<p>@Html.TextBoxFor(m => m.rol.fecha_expiracion, new { @id = "AdmPermfechaHastaNuevoRol" })
@Html.ValidationMessageFor(m => m.rol.fecha_expiracion)
脚本:
$(function () {
$("#AdmPermfechaHastaNuevoRol").datepicker({
changeMonth: true,
changeYear: true,
minDate: 0
});
});
现在我来自阿根廷,我需要格式化我的日期字段,所以我有一个脚本来更改 datepiker 格式:
jQuery(function ($) {
$.datepicker.regional['es'] = {
closeText: 'Cerrar',
prevText: '<Ant',
nextText: 'Sig>',
currentText: 'Hoy',
monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
monthNamesShort: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],
dayNames: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'],
dayNamesShort: ['Dom', 'Lun', 'Mar', 'Mié', 'Juv', 'Vie', 'Sáb'],
dayNamesMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sá'],
weekHeader: 'Sm',
dateFormat: 'dd/mm/yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''
};
$.datepicker.setDefaults($.datepicker.regional['es']);
});
我遇到的问题是,当我使用 chrome 在我的表单上使用 jqueryu 验证并尝试发布表单时,我收到一个验证错误(jquery 验证错误),上面写着“fecha_expiracion ust be a date”
正如您从 datepiker 配置脚本中看到的那样,我将日期格式化为:'dd/mm/yy'
这就是问题所在,如果我输入的日期类似于 2012 年 10 月 5 日是可以的,但如果我输入的是 2012 年 5 月 25 日 BUM !!! 所以我想正在尝试将日期解析为json mm/dd/yy
,有没有人知道如何解决这个问题?有什么想法或方向吗?tks
编辑:我试试这个 http://www.codeproject.com/Tips/579279/Fixing-jQuery-non-US-Date-Validation-for-Chrome 只得到这个:
ncaught RangeError:无效的语言标签:24/07/2013