所以我试图获得一些验证,以便使用基因敲除验证。我创造了这个小提琴来证明我的问题:https://jsfiddle.net/utjmLhxa/7/重新评估依赖字段上的错误消息,并进行基因敲除验证
当我改变“数量”和我已经有“双量”的错误信息,我想它更新的错误消息。验证有效时它似乎消失,但如果它仍然无效,它不会更新。
是否有可能获得基因敲除验证来重新评估文本?如果是这样,怎么样?它似乎做了一些重新评估,因为错误消失时,该字段是有效的。
实施例:
- 在数量输入2
- 在双人量输入2,示出了错误,它必须是至少4
- 在数量输入3,对于双数量错误消息仍然是在数量 相同
- 输入1,用于双人量错误信息消失
下面是代码的jsfiddle:
<div id="vm">
<span>Quantity</span>
<input type="number" data-bind="value: quantity"/><br/>
<span>Double quantity</span>
<input type="text" data-bind="value: doubleQuantity"/>
</div>
ko.validation.registerExtenders();
var Vm = function(){
var self = this;
self.quantity = ko.observable().extend({ max: 5 });
self.doubleQuantity = ko.observable().extend({validation: {
validator: function (val) {
this.message = 'must be at least ' + self.quantity() * 2
return val >= 2 * self.quantity();
},
message: ''
} });
};
ko.applyBindings(new Vm(), document.getElementById('vm'));
使用https://knockoutjs.com/downloads/knockout-2.2.1.js和https://cdnjs.cloudflare.com/ajax/libs/knockout-validation/1.0.2/knockout.validation.min.js
你需要使用这些过时的库? –
我认为这将有助于:http://stackoverflow.com/questions/17582154/knockout-validation-message-based-set-in-the-validation-function –