一切都完美适用于Chrome,但在IE中不起作用。发生此异步调用并触发回调(false),但constCentreNumber仍然有效且未显示错误。
self.costCentreNumber = ko.observable().extend({
required: { params: true, message: utils.message.required("Cost Centre number") },
pattern: {
message: utils.message.format("Cost Centre number"),
params: '^[0-9a-zA-Z]{1,10}$'
},
validation: {
async: true,
message: utils.message.invalid("Cost Centre number"),
validator: function (val, otherval, callback) {
dataSource.validate.costCode(val, self.shiftStart())
.always(function(result) {
callback(result);
});
}
}
});
答案 0 :(得分:0)
非常愚蠢,chrome读取结果为布尔值,但IE - 作为字符串,为什么它仍然有效,为“假”
解决方案是:
callback(result == "true" || result === true);