2013-06-01 53 views
2

我想使用驗證消息的引導樣式進行KO驗證工作。敲除驗證不顯示默認消息

我擁有它,以便在內容無效時顯示引導程序驗證消息,但它也顯示OOB KO驗證消息。

enter image description here

下面是我的代碼,我期待的是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/

回答

7

使用data-bind="validationMessage: Name"是不夠的,你需要的insertMessages屬性設置爲false禁用自動錯誤信息插入。

與初始化KO驗證插件時,你可以這樣做:

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

演示JSFiddle

您可以將Cofiguration documentation.

+0

感謝檢查出的其他配置選項,看起來完美 –

+0

我想只顯示在需要的字段的消息 - 否則我需要移動它。但它似乎並沒有像改變時使用ko.computed的新值。你知道這是真的嗎? –