У меня есть модель представления для формы, в которую я пытаюсь добавить проверку с помощью проверки нокаута.
fromDate: ko.observable(
moment().subtract('days', 1).startOf('day').format(dateFormat)
),
toDate: ko.observable(
moment().startOf('day').format(dateFormat)
),
Мне нужно убедиться, что дата начала меньше, чем дата. Кажется, я не могу получить какую-либо форму пользовательского валидатора, чтобы подобрать ссылку на второй наблюдаемый. Мне нужно что-то вроде:
toDate: ko.observable(moment().startOf('day').format(dateFormat)).extend({
validation: {
validator: function (val, someOtherVal) {
return moment(val) >= moment(someOtherVal);
},
message: 'Must be greater or equal to From Date',
params: viewModel.fromDate()
}
}),
Есть идеи?
Обновить
Я уверен, что уже пробовал это, но перемещение метода расширения в функцию загрузки работает.
$(function () {
ko.validation.configure({ decorateElement: true });
viewModel.toDate.extend({
validation: {
validator: function (val, someOtherVal) {
return moment(val) >= moment(viewModel.fromDate());
},
message: 'To date must be greater than from date',
}
});
ko.applyBindings(viewModel);
});