Knockout 验证插件是否有任何选项可以将错误类应用于错误输入的父级或父级父级?如果没有,有人可以建议一种修改淘汰赛验证的方法来做到这一点吗?
请参阅以下小提琴以获取我正在尝试实现的示例。开箱即用剔除验证设置输入的类,但我希望它设置包含控件组的类:
看法
<p>Clear the field and tab out of it to "see" the current behaviour - error class is added directly to the input by knockout validation. But I want to add class "error" to control-group containing the input instead of directly to the input.</p>
<div class="form-horizontal">
<div class="control-group">
<label class="control-label">Field</label>
<div class="controls">
<input type="text" data-bind="value: testField" class="">
</div>
</div>
<button data-bind="click: setErrorOnControlGroup">Click to see desired effect</button>
</div>
Javascript
ko.validation.configure({
registerExtenders: true,
messagesOnModified: true,
decorateElement: true,
errorClass: 'error',
insertMessages: false,
parseInputAttributes: true,
messageTemplate: null
});
var viewModel = {
testField: ko.observable("123").extend({required: true}),
setErrorOnControlGroup: function() {
$("input.error").removeClass("error");
$(".control-group").addClass("error");
}
};
ko.applyBindings(viewModel);
样式表(仅供说明 - 我不应该需要它,因为我想使用 twitter 引导样式)
/*NOTE: This is not actually the style I want, it just illustrates the default behaviour of knockout validation*/
input.error {
background-color: #aaffaa;
}
我问是因为我正在使用 twitter 引导样式,它使用输入的父控件组元素来设置“错误”输入的样式。