我有一个开始时间日期的模型和一个结束时间日期:ASP .NET MVC,的DateTimePicker和jQuery验证
[Required]
[DataType(DataType.DateTime)]
public DateTime StartTime { get; set; }
[Required]
[DataType(DataType.DateTime)]
public DateTime EndTime { get; set; }
其使用这两个日期的当前视图具有以下形式:
@if (Roles.IsUserInRole("Teacher"))
{
<h2>AddSession</h2>
using (Html.BeginForm("SessionAdded", "Course", FormMethod.Post, new { id = "myform" }))
{
@Html.ValidationSummary(true)
<fieldset>
<legend>Add Session</legend>
<div class="editor-label">
@Html.LabelFor(model => model.Name)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.StartTime)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.StartTime, new { @class = "date" , id = "StartTime" })
@Html.ValidationMessageFor(model => model.StartTime)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.EndTime)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.EndTime, new { @class = "date", id = "EndTime" })
@Html.ValidationMessageFor(model => model.EndTime)
</div>
<p>
<input id="submit" type="submit" />
</p>
</fieldset>
}
}
当我删除: <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
从我的看法我没有问题。
但是当我使用jquery.validate
时,我的两个字段返回:Please enter a valid date.
。我使用DateTimePicker for jQuery UI。
我有如下的Javascript代码:
$(document).ready(function() {
var datepickers = $('.date').datetimepicker({
minDate: 0,
dateFormat: "dd/mm/yy",
timeFormat: "hh:mm",
onSelect: function (date) {
var option = this.id == 'StartTime' ? 'minDate' : 'maxDate';
datepickers.not('#' + this.id).datepicker('option', option, date);
}
});
$("#myform").validate({
ignore: ".date"
})
});
我想忽略jQuery验证了我的两个日期字段(类=“日期”),因为它会检查特定的日期格式,我必须用这个一个在我的应用程序中:dd/mm/yyyy hh:mm
。
我也试过做一个自定义的验证器,但没有成功。我总是得到Please enter a valid date
错误...
感谢您的帮助,
埃德
是的我使用MVC上包含的unobstrusive验证。说实话,我并不真正了解我应该在哪里更改我的ASP .NET MVC项目中的CurrentCulture。 – ethd
我试过/ <全球化uiCulture =“auto:fr-FR”culture =“auto:fr-FR”requestEncoding =“utf-8”responseEncoding =“utf-8”/> 在我的Web.config中,选择日期时间时总是会出现相同的错误。 – ethd
我刚刚编辑答案 – pollirrata