如何在textbox中验证DateTime.净MVC
本文关键字:DateTime MVC 验证 textbox | 更新日期: 2023-09-27 17:49:15
我有这样的代码:
@Html.TextBoxFor(m => Model.MyDateTime)
MyDateTime -是DateTime对象。它在文本框内显示正确的日期和时间:09/10/2010 05:19:56 PM但是当我尝试点击提交按钮时,它显示它是不正确的值。我使用jquery.validate. unobtrusives .js文件进行验证
我在评论中指出的解决方案的要点是,您可以为包含字符串表示而不是DateTime类型的视图使用专门的模型,这允许您轻松地使用RegularExpressionAttribute验证值。当您在服务器上接收到这个模型(从客户端发布)时,只需将其转换为相应的数据库模型。
public class ViewModel
{
[Required]
[RegularExpression("'d{2}-'d{2}-'d{4}'s'd{2}:'d{2}:'d{2}")]
public string MyDateTime { get; set; }
public Model ToPoco()
{
return new Model {
MyDateTime = DateTime.Parse(this.MyDateTime, "MM-dd-yyyy H:mm:ss")
};
}
}
public class Model
{
DateTime MyDateTime { get; set; }
}
数据注释将为您工作!
您可以使用数据注释来正确地验证您的模型字段。使用这种转换,您可以在注释中手动提供日期格式,并将字符串模式传递给它。在这种情况下,它将完美地与默认mvc验证一起工作。