javascript - KnockoutJS Validate - 添加元素的 css 类

标签 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);

span 正在添加适当的 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" />

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

最佳答案

为了使用 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 绑定(bind)一起使用。

关于javascript - KnockoutJS Validate - 添加元素的 css 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21121855/

相关文章:

javascript - 如何在javascript中为字符串编写上标

javascript - 命名空间内的构造函数

javascript - 过滤标记并使用 knockout 和谷歌地图列出 - 未捕获的类型错误无法读取未定义的属性 'marker'

knockout.js - 如何使多选需要但不为空

javascript - 在 JavaScript 中制作原型(prototype)时首选哪种方法?

javascript - 仅当 iframe 内容为新时才重新加载 iframe?

javascript - 移动 DOM 元素后 KnockOut 绑定(bind)中断

Javascript knockout 绑定(bind)嵌套对象不起作用

knockout.js - 检查扩展是否应用于 observable

grails - 如何进行 knockout 验证本地化工作