asp.net-mvc – 在Mvc中验证DateFormat

我有一个属性ExpiredDate在MVC中定义
[required]
        [DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}")]
        public DateTime? ExpirationDate { get; set; }

我想验证一个页面上的日期格式不正确.
我使用的日期格式是MM / dd / yyyy.

解决方法

您应该将 DataType属性DataType.Date一起包含.这些都可以在 System.ComponentModel.DataAnnotations命名空间中找到.
[required]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}")]
public DateTime? ExpirationDate { get; set; }

This answer包括一些更多的属性.

更新以包括在ASP.NET MVC4中启用客户端验证的说明

要启用客户端验证,您需要:

>将jquery.validation插件添加到页脚

<%: Scripts.Render("~/Scripts/jquery.validate.min.js") %>
<%: Scripts.Render("~/Scripts/jquery.validate.unobtrusive.min.js") %>

>将其添加到web.config

<appSettings>
  <add key="ClientValidationEnabled" value="true" />
  <add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>

>在使用@ Html.ValidationMessageFor()时使用这个CSS,以便它被初始隐藏并通过javascript验证显示

<style type="text/css">

/* styles for validation helpers */
.field-validation-error {
    color: #e80c20;
    font-weight: bold;
}

.field-validation-valid {
    display: none;
}

input.input-validation-error {
    border: 1px solid #e80c20;
}

input[type="checkBox"].input-validation-error {
    border: 0 none;
}

.validation-summary-errors {
    color: #e80c20;
    font-weight: bold;
    font-size: 1.1em;
}

.validation-summary-valid {
    display: none;
}

</style>

相关文章

项目要求通过网站上传大文件,比如视频文件,通过摸索实现了文件分片来上传,然后后台进行合并。 使用了...
安装新版本的Nginx(vim /etc/yum.repos.d/nginx.repo) [nginx-stable] name=nginx stable repo baseu...
什么是 SignalR&#160;ASP.NET Core ASP.NET Core SignalR 是一种开放源代码库,可简化将实时 web 功...
在Windows下使用Docker,我们选择Docker Desktop这个软件,非常方便。 ## Docker Desktop介绍及安装 Do...
项目开始设计的是运行在windows下,所以一开始采用的是windows服务模式来获取多媒体文件信息,后来要求...
银河麒麟高级服务器操作系统V10是针对企业级关键业务,适应虚拟化、云计算、大数据、工业互联网时代对主...