【问题标题】:Jquery Date picker validation goes wrongJquery 日期选择器验证出错
【发布时间】:2016-08-07 14:55:08
【问题描述】:

所以,这不是我第一次问这种问题,但它仍然没有用......

我放了一个这样的日期选择器:

<script>
    $(document).ready(function () {
        $('.date').datepicker({ dateFormat: "dd/mm/yy", firstDay: 1 });
    });
</script>

我这样称呼它:

@Html.TextBox("date", null, new { @class = "date", @Value = DateTime.Today.Date })

问题是:如您所见,我想要dd/mm/yy 格式,当我选择日期时就是这种情况,它在dd/mm/yy 但当我按下提交按钮时,它不会进入控制器并且 datepicker 出现就像说:“嘿,你犯了一个错误,我想要一个 mm/dd/yy 格式”...

我尝试使用@{ Html.EnableClientValidation(false); } 删除客户端验证,但它并没有改变任何东西......

请有人帮助我吗?提前致谢 !

编辑:就像我说的,也许不够清楚,问题不是来自服务器,而是来自客户端!我在 web.config 中禁用了客户端验证,它现在可以正常工作了

【问题讨论】:

  • 您是否尝试将dateFormat 设置为d/m/yy
  • @Lulylulu 刚试过,不是更好:(
  • 您使用哪个日期选择器?
  • @Lulylulu Jquery 日期选择器
  • 因为服务器上的文化与机器上的文化不同。例如,您的服务器可能配置为接受 mm/dd/yyyy (en-US) 而您的机器 (localhost) 它是 es-MX (dd/mm/yyyy),因此它将显示日期无效的消息。将此添加到 web.config &lt;globalization culture="es-MX" uiCulture="es-MX"/&gt; 以便服务器接受 dd/mm/yyyy

标签: javascript jquery asp.net asp.net-mvc date


【解决方案1】:

您的模型中Date 属性的属性是什么样的?不久前,我遇到了与您类似的问题。您想调试并找出当前系统日期格式是什么。

您可以尝试将一个简单的函数插入到您的 .datepicker 函数中,如下所示:

$(".date").datepicker({
    dateFormat: "dd-mm-yy",
    onSelect: function () {
        var selectedDate = $('#the-id-of-my-datepicker-goes-here').datepicker('getDate');
        console.log("The current selected date is: " + selectedDate); //alternatively alert(selectedDate);
    }
})

【讨论】:

  • 我已经尝试过您的解决方案来查看格式及其 mm/dd/yy 那么当它是 dd/mm/yy 时,我怎样才能让它被视为一种好的格式?因为我不明白如果只是为了视图而放置“dateFormat”属性并且它不够智能用于验证......
  • @MrPixel6 dateFormat 属性用于前端 - 您的日期选择器将如何向用户显示它的价值。如果您需要它进行验证,您只需添加一个 DataType 属性,如下所示:[DataType(DataType.Date)] 到您的 DateTime 模型属性。您还可以使用[DisplayFormat(DataFormatString = "{0:YYYY-mm-dd}")] 在此处指定后端格式,您的格式将替换为:“YYYY-mm-dd”。希望对您有所帮助。
  • [DataType(DataType.Date)] 与验证完全无关(其唯一目的是在使用EditorFor() 方法时生成type="date"
  • @StephenMuecke 首先我在 Chrome 上使用 Editor For,它很完美,但后来我尝试了 safari 和 firefox,但它不适用于这些......
  • @MrPixel6,如果您禁用了客户端验证,则它不是客户端验证问题。但是如果你确实想要客户端验证,那么你需要配置 jquery 验证器。参考this answer
猜你喜欢
  • 1970-01-01
  • 2012-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-28
  • 2022-01-22
  • 2011-02-06
相关资源
最近更新 更多