我正在使用dev Extreme,并且有一个日历,可以在其中选择“已故日期”。如果该值不正确,则会出现错误。但是,一旦单击“保存”,就会进行ajax调用,并且传递的model的值为旧的正确值。我希望得到不正确的新值,否则就不应该保存。除非在ajax调用中将错误的日期传递给viewmodel,否则即使验证消息也不会起作用。但是在这种情况下,旧的正确值将传递给viewmodel。我什至没有这个“已故日期”的隐藏字段
<div class="form-group">
@Html.LabelFor(model => model.DeceasedDate)
@(Html.DevExtreme().DateBoxFor(model => model.DeceasedDate)
.ID("DeceasedDateCal")
.Type(DateBoxType.Date)
.DisplayFormat("yyyy MMM dd")
.Placeholder("MM/DD/YYYY")
.InvalidDateMessage("The date must have the following format: MM/dd/yyyy")
.Width("100%")
)
@Html.ValidationMessageFor(model => model.DeceasedDate, "", new { @class = "text-danger" })
</div>
我尝试做类似ajax调用的OnBegin
function CheckDatesAndShowSaving() {
var invalidDeceasedDate = document.getElementById("DeceasedDate").getAttribute("aria-invalid");
if ( invalidDeceasedDate === "false") {
alert(" DeceasedDateCal");
return false;
} else {
alert(" not DeceasedDateCal");
}
ShowSaving();
}
但是问题是,如果值不正确,它将不起作用;如果值正确,它将添加aria-invalid =“ false”并失败。
有什么想法,如果日期值不正确,该如何避免保存?