【问题标题】:overide global Validation Bindings validationOptions for specific input覆盖特定输入的全局验证绑定验证选项
【发布时间】:2014-12-13 18:18:29
【问题描述】:

我在脚本初始化中应用了标准验证选项:

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 类(在初始化期间设置)并将其应用于复选框元素(而我希望它包裹在包含的 div.checkbox 元素上。输出 I预计会产生以下html:

<div class="checkbox koErrorElement">
    <label>
        <input type="checkbox" /> I agree to terms and conditions
    </label>
</div>

知道我做错了什么以及为什么没有应用错误类吗?

【问题讨论】:

  • errorelementclass 应该是errorElementClass 大小写确实很重要...
  • 一双新鲜的眼睛能创造奇迹,想不想突然回答这样我就可以结束问题了?我现在正在使用 &lt;div data-bind="validationOptions: { decorateInputElement: true, errorElementClass: 'koErrorElement' }"&gt; 并且效果很好

标签: knockout.js knockout-validation


【解决方案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>

【讨论】:

    猜你喜欢
    • 2017-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-16
    • 1970-01-01
    • 2020-01-31
    • 1970-01-01
    • 2018-03-18
    相关资源
    最近更新 更多