我在脚本初始化时应用了标准验证选项:
ko.validation.configure({
insertMessages: false,
decorateInputElement: true,
errorClass: 'has-error',
errorElementClass: 'has-error'
});
这完全正常,但我有一个用户接受复选框,在视图模型无效时应用alert alert-danger
类是有意义的。
我尝试应用以下内容并使用本地应用于容器的全局验证选项覆盖(根据Validation Bindings wiki):
<div data-bind="validationOptions: { decorateInputElement: true, errorClass: 'koErrorElement', errorelementclass: 'koErrorElement' }">
<div class="checkbox" data-bind="validationElement: hasAgreedToTerms">
<label>
<input type="checkbox" data-bind="checked: hasAgreedToTerms" /> I agree to terms and conditions
</label>
</div>
</div>
但是这不起作用,它只应用原始的has-error
类(在init期间设置)并将其应用于checkbox元素(而我希望它包含在包含div.checkbox元素上)我期望产生的输出将是以下html:
<div class="checkbox koErrorElement">
<label>
<input type="checkbox" /> I agree to terms and conditions
</label>
</div>
知道我做错了什么以及为什么不应用错误类?
答案 0 :(得分:1)
根据configuration's documentation,正确的媒体资源名称为errorElementClass
,而不是errorelementclass
,因为您在代码中拥有它。
所以你只需要使用选项errorElementClass
:
<div data-bind="validationOptions: { decorateInputElement: true,
errorElementClass: 'koErrorElement' }">
<div class="checkbox" data-bind="validationElement: hasAgreedToTerms">
<label>
<input type="checkbox" data-bind="checked: hasAgreedToTerms" />
I agree to terms and conditions
</label>
</div>
</div>