ant*_*esk 2 asp.net jquery jquery-ui asp.net-mvc-4
我是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 () {
$(".date").datepicker();
});
</script>
}
Run Code Online (Sandbox Code Playgroud)
代码工作得很好,但如果我选择一个月份的13日到30/31,我总是有相同的警告:"字段StartDate必须是日期." 和"字段EndDate必须是日期."
编辑:我按要求添加我的ViewModel:
public class RangeDateViewModel
{
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
您需要告诉DatePicker您没有使用月份第一个日期格式:
$.datepicker.setDefaults({
dateFormat: "dd/mm/yy"
});
Run Code Online (Sandbox Code Playgroud)
但是,这可能不是您问题的重要部分(根据您的浏览器文化,日期选择器可能已经使用了第一天的日期格式).
日期第一次约会格式和jQuery验证以及MVC绑定也存在问题.这是我坚持使用年份第一个日期格式(yyyy-mm-dd)的主要原因之一,因为它被所有各种库正确解析.
| 归档时间: |
|
| 查看次数: |
11351 次 |
| 最近记录: |