当我提交表单来调用帖子动作(方法)时,我总是得到如下的验证消息
字段ReportStartDate必须是日期。
我的模特是
public class ReportModel
{
public DateTime? ReportStartDate { get; set; }
public DateTime? ReportEndDate { get; set; }
}
我的观点如下,
@using(@Html.BeginForm())
{
<div>
@Html.Bootstrap().ControlGroup().TextBoxFor(m => m.ReportStartDate).Label().LabelText("Start Date")
@Html.Bootstrap().ControlGroup().TextBoxFor(m => m.ReportEndDate).Label().LabelText("End Date")
<div class="form-actions align-right">
@Html.Bootstrap().SubmitButton().Text(AOCrowdFund.Resources.Global.Report).Id("GenerateReport")
</div>
</div>
}
注意:
我在这个字段中使用jquery datepicker
注意:
即使我使用以下内容,我也会收到相同的错误..
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
[Required(ErrorMessageResourceName = "ErrFieldRequired", ErrorMessageResourceType = typeof(Resources.Global))]
public DateTime? ReportStartDate { get; set; }
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
[Required(ErrorMessageResourceName = "ErrFieldRequired", ErrorMessageResourceType = typeof(Resources.Global))]
public DateTime? ReportEndDate { get; set; }
答案 0 :(得分:2)
我不能说出一个关于该做什么的确切问题。但你可以通过以下方式做到。它会像你期望的那样暂时帮助你。
为您添加以下jquery代码
$('#DatePicker').removeAttr("data-val-date");
之后在控制器中验证您的日期并添加模型错误..
ModelState.AddModelError(String.Empty,"Invalid date");
我希望这会暂时帮助你。
答案 1 :(得分:0)
ReportStartDate和ReportEndDate的价值是多少?你使用jquery datepicker还是什么?
通常,如果输入格式不是有效的日期格式,则会发生此错误。并检查它是否适用于其他浏览器(在某些浏览器更新时发生。)
类似问题Here
答案 2 :(得分:0)
尝试在JQuery datepicker中指定altField和altFormat
$("#form").datepicker({
altField: "#form",
altFormat: "yy-mm-dd"
});