【发布时间】:2014-08-11 17:52:23
【问题描述】:
我有以下用于凭证代码的自定义验证规则,该规则有效并发送到服务器并正确验证我的凭证代码。
但是,凭证有 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
}
【问题讨论】:
-
This 可能会帮助你(改变消息)
-
谢谢 - 我找到了我在下面添加的答案 - 回调支持带有
isValid和message的复杂对象
标签: knockout.js knockout-validation