如何使用jQuery 的Validation Plugin指定要验证的自定义日期格式?
基本上,我的datepicker使用英国格式dd/mm/yyyy.但是当我提交表单时,ASP.net显然使用美国格式.(只接受少于12天,即认为是月份.)
public ActionResult TimeTable(DateTime ViewDate)
Run Code Online (Sandbox Code Playgroud)
有没有办法强迫它识别某种方式?
奇怪的是,其他插入方法似乎都能识别正确的格式.
"参数字典包含参数提供一个空条目ViewDate非空类型的System.DateTime用于方法System.Web.Mvc.ActionResult Index(System.DateTime)在Mysite.Controllers.RoomBookingsController一个可选的参数必须是引用类型,可空类型,或声明为可选参数".
我和Dates度过了一段噩梦.我们的总部设在英国,因此我们的日期格式为dd/MM/yyyy.这是用户在需要特定日期时将在表单中键入的内容.我有一个表格只接受这样的财产.它显然是一个DateTime类型.我想在GET中将此表单发送到控制器,因此用户有一个很好的URL,可以保存传递等等.视图还需要将JQuery UI datepicker绑定到此元素.我还需要表单元素具有一定的id和类,所以我真的需要将其呈现给表单:
@Html.TextBoxFor(model => model.ReturnDate, new { Class = "date", id = "ReturnDate" })
Run Code Online (Sandbox Code Playgroud)
我在web.config中指定了一个英国文化变体:
<globalization uiCulture="en" culture="en-GB"/>
Run Code Online (Sandbox Code Playgroud)
然而,正如这里所解释的那样(http://weblogs.asp.net/melvynharbour/archive/2008/11/21/mvc-modelbinder-and-localization.aspx),当获取控制器启动时,MVC忽略了培养变体默认为美国(显然没有人存在于美国以外,所以这对微软来说没问题,咆哮)附件无济于事,因为这意味着我必须为每个模型中的每个日期设置它!
这意味着,如果用户键入01/05/2012,我最终会遇到05/01/2012,这是错误的!
我已经看过这个问题的各种解决方案,但没有一个真正符合我的需要.我需要一种方法,以便通过GET发送的所有日期都是英国格式.我们完全位于英国,因此不会输入任何英国格式.
我真的不想创建和编辑,除非它是一种我可以在没有附加到此编辑器的View/Viewmodel的情况下执行此操作的方法,因为在我们有日期选择器的任何地方使用它都会非常困难.
所有的帮助将非常感谢!
我有一个应用程序,我最近升级到.Net 4.5.1和MVC 4.我使用的是jQuery datepicker和jQuery.validation 1.11.1.
我在英国因此日期将在en-GB语言环境中("dd/mm/yyyy").我已经尝试了这里,这里和这里的建议 ,但无济于事.
我也在我的web.config中:
<globalization uiCulture="en-GB" culture="en-GB" />
Run Code Online (Sandbox Code Playgroud)
并将IIS中的全球化设置为en-GB,但输入的每个日期都验证为美国格式日期.
有人可以帮忙吗?
我只是想在提交时接受ddMMyyyy格式的日期.但它给出了一个错误
FromDate字段必须是日期.

但是,当我在MMddyyyy中输入日期时,它会严格接受pkkttrfg.
我的模型是
public class CompareModel
{
[Required]
[DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}", ApplyFormatInEditMode = true)]
public DateTime FromDate { get; set; }
[Required]
[DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}", ApplyFormatInEditMode = true)]
public DateTime TODate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我的观点部分是
<div class="form-group">
@Html.LabelFor(model => model.FromDate, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.FromDate)
@Html.ValidationMessageFor(model => model.FromDate)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.TODate, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.TODate)
@Html.ValidationMessageFor(model => model.TODate) …Run Code Online (Sandbox Code Playgroud) 我是asp.net jquery和html5的初学者,我正在开发一个asp.net mvc 4网站,我有一个带有两个Date字段的表单.我不想手动插入日期,所以我尝试使用此解决方案来实现一个简单的datepicker:
<fieldset>
<legend>RangeDateViewModel</legend>
<div class="editor-label">
Start Date
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.StartDate, new{ @class = "date" })
@Html.ValidationMessageFor(model => model.StartDate)
</div>
<div class="editor-label">
End Date
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.EndDate, new{ @class = "date" })
@Html.ValidationMessageFor(model => model.EndDate)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
@Scripts.Render("~/bundles/jqueryui")
@Styles.Render("~/Content/themes/base/css")
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui-1.8.11.min.js")" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () …Run Code Online (Sandbox Code Playgroud) asp.net ×2
asp.net-mvc ×2
c# ×2
date ×2
jquery ×2
.net ×1
culture ×1
jquery-ui ×1
validation ×1