私は次のコントロールを持っています:
@(Html.Kendo().DatePickerFor(model => model.Attributes.DueDate)
.HtmlAttributes(new {
ID = "idSurvey_DueDate",
@data_bind = "value: DueDate",
@Class = "report-label datepicker surveyAttributesData",
TabIndex = 3 })
.Min(DateTime.Now)
)
そして、次のjquery:
$("#idSurvey_DueDate").kendoValidator({
rules: {
dateValidation: function (e) {
var currentDate = kendo.parseDate($(e).val());
// Check if date parse was successful
if (!currentDate) {
return false;
}
return true;
}
},
messages: {
dateValidation: "Invalid Date!",
min: "Date must not be in the past!"
}
});
これをテストして無効な日付を入力すると、予期したものとは異なるメッセージが表示されます。代わりに、「フィールド DueDate は日付でなければなりません」です。この謎のメッセージはどこから来ているのですか? また、バリデーターに入力したメッセージ プロパティを使用していないのはなぜですか? 私が望むのは、無効な日付形式を許可しないことと、日付が過去のものであってはならないことだけです。したがって、最低限のルールを適用する必要があります。