KnockoutJS Validate - 添加了元素的css类

时间:2014-01-14 19:06:37

标签: javascript knockout.js knockout-validation

我无法让knockout validate在我的输入中添加错误css类。

我的配置如下:

var knockoutValidationSettings = {
    insertMessages: true,
    decorateElement: true,
    errorMessageClass: 'error',
    errorElementClass: 'error',
    errorClass: 'error',
    errorsAsTitle: true,
    parseInputAttributes: false,
    messagesOnModified: true,
    decorateElementOnModified: true
};

data.vm = new vmFunc();

ko.applyBindingsWithValidation(data.vm, $('#claimsSettingsSubmodule')[0], knockoutValidationSettings);

使用适当的css类添加跨度,但输入保持不变。

输入的html看起来像这样

<input type="text" id="claims-settings-referrer-name" data-bind="value: referrerName" />

如果我这样做似乎有效

<input type="text" id="claims-settings-referrer-name" data-bind="value: referrerName, validationElement: referrerName" />

但至少可以说这不是最佳选择。

1 个答案:

答案 0 :(得分:3)

为了使用errorElementClass自动修饰输入元素,您需要在decorateInputElement

中将true属性设置为knockoutValidationSettings
var knockoutValidationSettings = {
    insertMessages: true,
    decorateElement: true,
    errorMessageClass: 'error',
    errorElementClass: 'error',
    errorClass: 'error',
    errorsAsTitle: true,
    parseInputAttributes: false,
    messagesOnModified: true,
    decorateElementOnModified: true,
    decorateInputElement: true
};

decorateElementOnModified仅与您已经注意到的validationElement绑定一起使用。