【问题标题】:ASP.NET MVC 4 Client Side Validation Fails on Dates Containing Dots "."ASP.NET MVC 4 客户端验证在包含点“。”的日期上失败
【发布时间】:2014-03-16 01:34:03
【问题描述】:

我正在构建一个 ASP.NET MVC 4 网站。我的一个模型类中有一个日期字段,格式为 "dd.mm.yyyy"。在我的编辑或创建视图中,如果我尝试输入像“05.12.1975”这样的日期,服务器端验证工作没有任何问题,但客户端 Jquery 验证失败并显示 “该字段出生日期必须是一个日期。” 但如果我将值更改为“05/12/1975”,则两个验证都有效。问题是关于“。”日期字段中的字符。我怎样才能允许“。”在客户端验证中?

谢谢。

我的 C# 类文件中的日期字段:

[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
[Display(Name = "Birth Date")]
public virtual DateTime BirthDate { get; set; }

【问题讨论】:

    标签: jquery asp.net-mvc validation date


    【解决方案1】:

    当对日期使用客户端验证时,您必须覆盖对日期的 jQuery 验证。

    <script type="text/javascript">
        $(function () {
            $.validator.methods.date = function (value, element) {
                return this.optional(element) || Globalize.parseDate(value, "dd.MM.yyyy") !== null;
            }
        });
    </script>
    

    您必须在 HTML 头中引用 Globalize 库和适当的文化。您可以从https://github.com/jquery/globalize 下载。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-19
      • 2017-05-21
      • 2010-09-14
      相关资源
      最近更新 更多