我有一个表单的视图模型,我试图将验证添加到使用敲除验证。
fromDate: ko.observable(
moment().subtract('days', 1).startOf('day').format(dateFormat)
),
toDate: ko.observable(
moment().startOf('day').format(dateFormat)
),
我需要确保起始日期小于截止日期。我似乎无法获得任何形式的自定义验证器来获取对第二个 observable 的引用。我需要一些类似的东西:
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()
}
}),
有任何想法吗?
更新
我确定我已经尝试过了,但是将扩展方法移动到 onload 函数中是可行的。
$(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);
});