asp.net-mvc – 验证asp.net MVC中的只读输入不显眼的验证
发布时间:2020-05-24 05:48:56 所属栏目:asp.Net 来源:互联网
导读:我在页面上有两个单独的字段:一个日期和一个时间. 这是模型: [Required][DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = {0:hh:mm tt})]public DateTime? StartTime { get; set; }[Required][DisplayFormat(ApplyForm
|
我在页面上有两个单独的字段:一个日期和一个时间. 这是模型: [Required]
[DisplayFormat(ApplyFormatInEditMode = true,DataFormatString = "{0:hh:mm tt}")]
public DateTime? StartTime { get; set; }
[Required]
[DisplayFormat(ApplyFormatInEditMode = true,DataFormatString = "{0:MM/dd/yyyy}")]
public DateTime Date { get; set; }
这是视图: @Html.TextBoxFor(m => m.Date,"{0:MM/dd/yyyy}",new { type = "text" })
@Html.TextBoxFor(m => m.StartTime,"{0:hh:mm tt}",new { type = "text",id = "timeStart" })
但是,当我在StartTime中输入“11:00 PM”或“11:00 pm”时,该JavaScript不显眼的验证可以正常使用Date字段,验证显示
服务器端验证工作正常,“0:hh:mm tt”只有javascript有问题.现在我只是禁用JavaScript验证,但最终会在此页面上 这可以为“时间”领域做好吗? 解决方法老实说,实现这一点的最简单的方法是使用正则表达式验证器.这是一个例子.[RegularExpression(@"^(0[1-9]|1[0-2]):[0-5][0-9] (am|pm|AM|PM)$",ErrorMessage = "Invalid Time.")] 不引人注意的验证应该与此表达式正常工作. 希望这可以帮助你! 编辑 我修正了由于某些非法字符而在控制台中引发错误的正则表达式.此外,您将需要此属性的字符串属性包装器,否则它将始终寻找有效的DateTime. 以下是您应该绑定的内容. 模型: public DateTime? StartTime { get; set; }
[Required]
[RegularExpression(@"^(0[1-9]|1[0-2]):[0-5][0-9] (am|pm|AM|PM)$",ErrorMessage = "Invalid Time.")]
public string StartTimeValue
{
get
{
return StartTime.HasValue ? StartTime.Value.ToString("hh:mm tt") : string.Empty;
}
set
{
StartTime = DateTime.Parse(value);
}
}
视图: @Html.TextBoxFor(m => m.StartTimeValue) (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 验证 – 在编辑页面上保存时忽略必需属性
- asp.net-mvc – 未找到MVC 6 404
- asp.net-mvc-3 – 从ASP MVC 3 Preview更新到Beta后,提交了
- 如何使用ASP.NET创建和填充ZIP文件?
- asp.net – 在.NET 4.5 Azure部署中找不到编译器可执行文件
- asp.net-mvc – Asp.Net Mvc – 在ActionResult.Execute之前
- ASP.NET MembershipProvider加密/解密
- 如果复选框被选中,ASP.NET – 需要一个文本框
- asp.net – 作为Windows服务托管的c#WCF Restful Web服务的
- asp.net – 拒绝访问端口“COM1”
