chrome中的jquery验证日期格式问题

时间:2013-07-22 18:05:16

标签: asp.net-mvc-4 jquery-validate jquery-ui-datepicker date-formatting

即时通讯使用jquery验证并有一个日期字段,使用jquery我将datepicker applay到编辑字段:

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'

这就是问题所在,如果我提出的日期是10/5/2012之类的东西还可以,但如果我把25/5/2012爆炸!所以我想尝试解析json这样的日期mm/dd/yy,有没有人知道如何解决这个问题?任何想法或方向? TKS

编辑: 我试试这个 http://www.codeproject.com/Tips/579279/Fixing-jQuery-non-US-Date-Validation-for-Chrome 只有这个:

  

ncaught RangeError:语言标记无效:2013年7月24日

1 个答案:

答案 0 :(得分:1)

您可以在此处找到类似的problem descriptionworkaround

或者,您可以使用jQueryUI Datepicker验证插件。