【问题标题】:Change date format validation, mvc 3 and jQuery更改日期格式验证、mvc 3 和 jQuery
【发布时间】:2011-10-15 09:45:47
【问题描述】:

我已经为这个问题苦苦挣扎了两天了,但仍然没有找到解决方案...... 我使用本教程向我的网站添加了一个日期选择器: http://blogs.msdn.com/b/stuartleeks/archive/2011/01/25/asp-net-mvc-3-integrating-with-the-jquery-ui-date-picker-and-adding-a-jquery-validate-date-range-validator.aspx

除验证外,一切正常。我不断收到错误“请输入有效日期”。 我已将解决方案中的所有内容更改为“dd-MM-yyyy”并添加 全球化文化="da-DK" uiCulture="da-DK"

到我的 web.config。我仍然不工作。不断收到错误。我应该改变我的模型类吗? 我要验证的日期:

    [DataType(DataType.Date)]
    public DateTime DateOfBooking { get; set; }

尝试过:

    $('#formatdate').change(function () {
        $('#datpicker').datepicker("option", "dateFormat", "dd-mm-yy");
    });

和:

$(document).ready(function () {
function getDateYymmdd(value) {
    if (value == null)
        return null;
    return $.datepicker.parseDate("dd-mm-yy", value);
}
$('.date').each(function () {
    var minDate = getDateYymmdd($(this).data("val-rangedate-min"));
    var maxDate = getDateYymmdd($(this).data("val-rangedate-max"));
    $(this).datepicker({
        dateFormat: "dd-mm-yyyy",  // hard-coding uk date format, but could embed this     as an attribute server-side (based on the current culture)
        minDate: minDate,
        maxDate: maxDate
    });
});
});

尝试了许多不同的解决方案,但似乎没有任何效果。无法确定问题出在 mvc 还是 jquery 中。 有人请帮忙:) 谢谢!

【问题讨论】:

  • 您是否尝试过手动测试 parseDate,只需在其中输入验证日期并查看它是否有效。
  • 不,我没有。这是我第一次使用 jquery,它有点令人困惑:) 不确定 validate 是如何工作的以及它在哪里进行。

标签: jquery asp.net-mvc-3 validation date


【解决方案1】:

是 jquery.validate 插件无法识别这种格式。我会推荐你​​following blog post。您可以使用globalize plugin 来设置客户端验证的首选文化。

【讨论】:

  • 它有点难以理解您建议的链接,因为我不习惯使用 jquery。你能再提供一些线索吗? :)
  • 好吧......再过几个小时,我似乎取得了一些进展。当我选择一个日期时,一切正常。甚至验证...直到我更改日期。然后我收到消息“请选择一个有效日期”。我有两个日期字段,日期是否有效似乎有点随机。很奇怪......你猜为什么会这样??
猜你喜欢
  • 1970-01-01
  • 2015-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-17
  • 2016-07-28
相关资源
最近更新 更多