ASP.NET MVC 4不适用于jquery datepicker

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)

Jas*_*kan 7

您需要告诉DatePicker您没有使用月份第一个日期格式:

$.datepicker.setDefaults({
    dateFormat: "dd/mm/yy"
});
Run Code Online (Sandbox Code Playgroud)

但是,这可能不是您问题的重要部分(根据您的浏览器文化,日期选择器可能已经使用了第一天的日期格式).

日期第一次约会格式和jQuery验证以及MVC绑定也存在问题.这是我坚持使用年份第一个日期格式(yyyy-mm-dd)的主要原因之一,因为它被所有各种库正确解析.