我无法获取 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/