Knockout验证未应用错误类

时间:2016-12-15 09:40:55

标签: typescript knockout.js knockout-validation

我已将敲除验证应用于文本输入并且验证正确显示,但errorMessageClass未应用于错误消息。我认为我错误地设置了一些东西,但我无法看清楚。

我的HTML只是一个简单的文本框,其中包含我已应用validationMessage绑定的范围:

<div>
   Mandatory field:
</div>
<span>
   <span data-bind="validationMessage: userInput"></span>
   <input type="text" data-bind="textInput: userInput" />
</span>

我使用打字稿来构建一个基本的淘汰模型:

class MyViewModel {
    constructor(userInput: string) {        
        this.userInput(userInput);
    }

    userInput = ko.observable('').extend({
        required: {
            params: true,
            message: 'Please enter a value.'
        }
    });
}

这是文件就绪功能,它设置敲除验证并应用敲除绑定:

$(function () {
    ko.validation.init({
        insertMessages: false,
        errorMessageClass: 'field-validation-error'
    });

    window.vm = new MyViewModel('Delete me');

    ko.applyBindings(window.vm);
});

我已经设置了jsfiddle to replicate my problem。我显然可以手动将课程放在跨度上,但是当我以前使用过淘汰验证时,我还没有必要。为了获得淘汰赛验证以自动应用课程,我需要更改什么?

1 个答案:

答案 0 :(得分:1)

errorMessageClass指定的类仅应用于自动生成的消息。您可以通过配置参数insertMessages打开这些消息。

看看:https://jsfiddle.net/r59dyjj0/4/