asp.net-mvc – MVC3自定义格式化日期的不显眼日期验证
|
我有一个日期字段(我使用 jquery ui datepicker)在我格式化的表单中,如下所示: 视图模型 [DisplayFormat(DataFormatString = "{0:dd-MMM-yyyy}",ApplyFormatInEditMode = true)]
public DateTime FooDate { get; set; }
视图 @Html.EditorFor(m => m.FooDate) 这正确地显示了我想要它的日期,例如09 – 11月 – 2011 我收到的问题发生在我按提交时.它一直告诉我日期无效….这是有效的,你这个蠢事! 有什么办法,我可以得到jquery / unobtrusive javascript忽略这个字段或允许这种格式通过?到目前为止,我可以让表单工作的唯一方法是,如果我不格式化日期,或使用{0:d}作为日期格式. 编辑: 我的布局是空的.它只加载以下文件: "jquery-1.7.min.js" "jquery-ui-1.8.16.min.js" "jquery.validate.min.js" "jquery.validate.unobtrusive.min.js" 我的TestViewModel很简单: public class TestViewModel
{
[Display(Name = "Test Date:")]
[DisplayFormat(DataFormatString = "{0:dd/MMM/yyyy}",ApplyFormatInEditMode = true)]
public DateTime? TestDate { get; set; }
}
我的TestController如下: public class TestController : Controller
{
public ActionResult Index()
{
var m = new TestViewModel();
m.TestDate = DateTime.Now;
return View(m);
}
}
我的看法: @using (Html.BeginForm())
{
ViewContext.FormContext.ValidationSummaryId = "valSumId";
@Html.ValidationSummary(false,"The following errors were found:");
@Html.AntiForgeryToken()
@Html.LabelFor(m => m.TestDate)
<input type="date" id="TestDate" value="@Model.TestDate.Value.ToString("dd/MMM/yyyy")" />
<input type="submit" />
}
没有工作. 你知道烦人的是什么吗?如果我将TestDate更改为字符串,它仍然会失败. 解决方法我认为格式字符串中的连字符(“ – ”)存在问题:[DisplayFormat(DataFormatString = "{0:dd-MMM-yyyy}",ApplyFormatInEditMode = true)]
默认情况下,不显眼的验证似乎不接受连字符进行日期格式化. 在我的情况下,我不得不添加自定义客户端方法: $.validator.methods.date = function (value,element) {
var s = value;
s = value.replace(/-/g,'/');
return this.optional(element) || !/Invalid|NaN/.test(new Date(s));
};
实施here (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Mono 3.4.1中的UserCookieAuthentication
- 使用ASP.Net MVC将图像上传到SQL Server 2005?
- asp.net-mvc – 怎么样?控制器返回任何/当前视图
- asp.net – 连接到MySQL导致错误“未找到数据源名称且未指定
- asp.net-mvc – Razor MVC4 Url.Action无效
- asp.net-mvc-3 – 如何添加整数列表到路由
- asp.net-mvc-4 – 在VS2012中运行代码分析时出错
- ASP.NET MVC API 接口验证的示例代码
- ASP.NET应用程序中的浏览器缓存
- asp.net-mvc – 如何在.net MVC中使用Flux和事件发射器?
