我对凭证代码有以下自定义验证规则,该规则适用于服务器并正确验证我的凭证代码。
然而,凭证有6种不同的失败状态 - 过时,已兑换,用户不允许等等。
我在ajax响应中设置了凭证消息,但这不会传播到验证消息。
是否可以为单个验证规则提供多条消息,并根据结果更改消息?
我在docs找不到任何内容。
this.voucherMessage = "blah blah";
this.voucherCode = ko.observable("").extend({
validation: {
async: true,
validator: function(val, params, callback) {
var voucherCode;
voucherCode = val.replace("-", "");
return $.ajax({
url: constantsRoutes.vouchers.getInfo(voucherCode),
type: 'GET',
success: callback
}).done(function(response, statusText, xhr) {
var isValid;
_this.voucherDetails.setVoucher(response);
_this.voucherMessage = _this.voucherDetails.voucherState.display();
isValid = _this.voucherDetails.voucherState.state() === 0;
return callback(isValid);
});
},
message: this.voucherMessage
}
答案 0 :(得分:2)
我应该首先阅读source code - 虽然可能对其他人有用
callback({
isValid: isValid,
message: _this.voucherDetails.voucherState.display()
});
这就是诀窍!