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

我有它,以便在内容无效时显示 Bootstrap 验证消息,但它还会在旁边显示 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/

请您参考如下方法:

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

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

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

演示 JSFiddle .

您可以查看 Cofiguration documentation. 中的其他配置选项。


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!