我正在尝试配置淘汰赛验证,但我的设置似乎被忽略了.这就是我试图配置它的方式
var knockoutValidationSettings = { insertMessages: true, decorateElement: true, errorMessageClass: 'error', errorElementClass: 'error', errorClass: 'error', errorsAsTitle: true, parseInputAttributes: false, messagesOnModified: true, decorateElementOnModified: true, decorateInputElement: true }; ko.validation.init(knockoutValidationSettings); ko.applyBindings(vm, $('#dropzone')[0]);
我知道选项对象不是问题,因为这很好用
var knockoutValidationSettings = { insertMessages: true, decorateElement: true, errorMessageClass: 'error', errorElementClass: 'error', errorClass: 'error', errorsAsTitle: true, parseInputAttributes: false, messagesOnModified: true, decorateElementOnModified: true, decorateInputElement: true }; //ko.validation.init(knockoutValidationSettings); ko.applyBindingsWithValidation(vm, $('#dropzone')[0], knockoutValidationSettings);
如何让init函数工作?显然,我想把这个初始化移到我应用程序根目录的一个地方.
似乎验证插件已经在您调用时初始化ko.validation.init
.
所以你需要传入true
第二个参数来强制初始化使用新的配置:
ko.validation.init(knockoutValidationSettings, true);
什么可以初始化验证插件?
任何电话ko.applyBindings
或ko.applyBindingsWithValidation
任何电话ko.validation.init
或ko.validation.configure
该ko.applyBindingsWithValidation
版本有效,因为它更新了配置 - 在封面下 - 即使插件已经初始化.