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"に設定してエラー メッセージの自動挿入を無効にする必要があります。insertMessagesfalse

これは、ko 検証プラグインを次のように初期化するときに実行できます。

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

JSFiddleのデモ。

その他の構成オプションについては、構成ドキュメントを参照してください。

于 2013-06-01T11:12:49.067 に答える