2

我想让 KO 验证与验证消息的引导样式一起工作。

我有它,以便在内容无效时显示引导验证消息,但它还会在旁边显示 OOB KO 验证消息。

在此处输入图像描述

下面是我的代码,我原以为这data-bind="validationMessage: Name"会阻止显示默认值,但事实并非如此。我是否缺少一些东西来阻止这种显示?

<div class="container">
   <form class="form-horizontal">
        <div class="control-group" data-bind="css: { success: Name.isModified() && Name.isValid(), error: Name.isModified() && !Name.isValid() }">
        <label for="inputName" class="control-label">Name</label>
        <div class="controls">
            <input type="text" id="inputName" placeholder="put something in and then clear" data-bind="value: Name, valueUpdate: 'afterkeydown'">
            <span class="help-inline" data-bind="validationMessage: Name, visible: Name.isModified() && !Name.isValid()"></span>
        </div>
    </div>
       </form>
</div>

function ViewModel() {
    var self = this;
    self.Name = ko.observable()
    .extend({ required: true });
    return self;
}
$(function () {
    ko.applyBindings(new ViewModel());
});

JSFiddle 在这里:http: //jsfiddle.net/KmKa4/8/

4

1 回答 1

7

使用data-bind="validationMessage: Name"是不够的,您需要将insertMessages属性设置false为禁用自动错误消息插入。

您可以在初始化 ko 验证插件时执行此操作:

ko.validation.init({insertMessages: false});

演示JSFiddle

您可以查看Cofiguration 文档中的其他配置选项。

于 2013-06-01T11:12:49.067 回答