我正在尝试验证一个时间字段是否大于另一个时间字段。时间由bootstrap-datetimepicker输入,并通过 KO Validation 进行验证。
我的问题是验证似乎发生在文本框的自动更正之前。
应用自动更正后如何进行验证?
代码:
var vm = function () {
var self = this;
self.startTime = ko.observable().extend({ required: true });
self.endTime = ko.observable()
.extend({
validation: {
validator: function (val) {
if (self.startTime() === '' || val === '') {
return true;
}
return new Date(val) > new Date(self.startTime());
},
message: 'Event must finish after it started'
}
});
(function () {
$('#event-start-time').datetimepicker({
pickDate: false
});
$('#event-end-time').datetimepicker({
pickDate: false
});
$('#event-end-time').on("change.dp", function (e) {
//I've tried with and without this
//self.endTime.valueHasMutated();
});
})();
};