验证具有特定格式的Bootstrap datepicker

时间:2014-01-17 11:33:56

标签: jquery twitter-bootstrap datepicker

我有一个bootstrap datepicker的问题,我还没解决。我希望你们有个主意。

我在页面上添加了引用bootstrap-datepicker.js和datepicker.css。然后我通过jquery定义了输入的日期格式。

$('#DataNascimento').datepicker({
    format: 'dd/mm/yyyy'
});

//My View
@Html.TextBoxFor(m => m.DataNascimento, new { @class = "datepicker", @data_mask = "99/99/9999", @data_date=Model.DataNascimento, data_date_format=System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern, @data_val_date = "Informe uma Data de Nascimento válida" })

//My Web.config
<globalization culture="pt-BR" uiCulture="pt-BR"/>

虽然我输入了正确的日期格式(dd / MM / yyyy),但我总是收到错误消息“日期格式无效”。 我已经尝试删除TextBox的@data_mask,@ data_date,@ data_date_format和@data_val_date属性,但它仍然无效。 是否有人可以帮我解决这个问题?

非常感谢!

更新 我正在使用ASP.NET MVC 4

更新

伙计们,我已经在其他浏览器(Firefox和IE)中测试了该应用程序,我对它们没有相同的问题。我相信这是Chrome上的一个问题。我已经将我的html代码的属性“lang”从'en'更改为'pt-br',但它仍然没有在chrome上工作。 正如@TrueBlueAussie建议的那样,我将尝试创建一个测试项目并再次测试它。 谢谢!

1 个答案:

答案 0 :(得分:0)

我出错了。这个答案包含我遵循的步骤

1º - 创建另一个隐藏了属性的文本框:

@Html.TextBoxFor(model => model.DataNascimento, new { @class = "hidden"})

2º - 用于处理从数据加工器插入的日期的文本框:

@Html.TextBox("DataNascimentoManipulate", null, new { @class = "datepicker"}

3º - 现在操纵日期

`

$('#datepicker').datepicker({ format: 'dd-mm-yyyy' }).on('changeDate', function () {
            if ($("#DataNascimentoManipulate").val() != "") {
                var varData = $("#DataNascimentoManipulate").val().split("/");
                var NovaData = "" + varData[2] + "/" + varData[1] + "/" + varData[0];
                $("#DataNascimento").val(NovaData);
            }

`