Jquery客户端验证与Jquery日期picker

Jquery client side validation with jquery datepicker

本文关键字:Jquery picker 日期 验证 客户端      更新时间:2023-09-26

验证过去是有效的,但是我改用了datepicker。我注意到客户端验证并不总是受到影响。可能需要选择几个日期才能到达断点。但是,如果你选择一个日期,并且仍然在文本框中并按回车键,它每次都有效。

我确实有正确的脚本加载和在视图中。我的验证方法是

[HttpPost]
public JsonResult CheckEndDate(DateTime CourseEndDate, DateTime CourseStartDate)
{
    return Json(CourseStartDate < CourseEndDate);
}

我的模型属性

[Remote("CheckEndDate", "Course", AdditionalFields = "CourseStartDate", HttpMethod = "POST",
    ErrorMessage = "Must end after Start Date")]

查看东西

@model Nullable<DateTime>
@{
    DateTime date = DateTime.Now;
    if (Model != null) {
        date = (System.DateTime) Model;
    }
}
@Html.TextBox("", String.Format("{0:MMM dd, yyyy}", date),
  new { @class = "datefield", type = "text"  })
<td class="table-row">
    @Html.EditorFor(model => model.CourseStartDate)
    @Html.ValidationMessageFor(model => model.CourseStartDate)
</td>
<td class="table-row">
    @Html.EditorFor(model => model.CourseEndDate)
    @Html.ValidationMessageFor(model => model.CourseEndDate)
</td>
//Date field datepicker hookup
$('.datefield').datepicker({dateFormat:'M dd, yy'});

重新说明,我没有使用日期选择器,除了谷歌,我想要一个跨浏览器的。每次更改日期都有效。现在它工作了一半的时间或只在按下回车。

如果您还需要什么,请告诉我。

在我的项目中,我这样做了验证:

$(".datepicker").datepicker().on('changeDate', function (ev) {
     //Your validation goes here
     if(!good){
       ev.setValue("");
       alert("Your date is invalide!");
     }
});