0

asp.netアプリケーションでjqueryバリデータープラグイン(http://docs.jquery.com/Plugins/Validation )を使用しています。
これが私のfrom要素です:

<input id="chbConfirmDetails" type="checkbox" runat="server" class="required" />
<br />
<label for="<%=chbConfirmDetails.ClientID %>" class="alert">Please select this checkbox.</label>

問題は、エラーのあるラベルが起動時に非表示ではなく表示されることです。ラベルを非表示にするクラスを追加できますが、バリデータープラグインがそれを処理するべきではありませんか?

エラーが隠されていないのはなぜですか?

更新: エラーメッセージを入力の直後ではなく特定の位置に配置したいので、ラベルを明示的に追加します。

4

2 に答える 2

1

検証メッセージに明示的なマークアップを追加する必要はありません。プラグインは、エラーが発生したときにそれを生成します。したがって、入力フィールドだけで十分です。

<input id="chbConfirmDetails" type="checkbox" runat="server" class="required" />

検証を構成すると、プラグインがエラー マークアップを生成する方法を制御できます。「アラート」クラスを追加するには、呼び出しで設定されていることを確認する必要があります。.validate()例:

$("form").validate({
   errorClass: "alert"
})
于 2012-05-17T11:36:23.620 に答える
0

次の行を削除できます。

<label for="<%=chbConfirmDetails.ClientID %>" class="alert">Please select this checkbox.</label>

バリデータ プラグイン自体は、検証時にエラー ラベルを追加し、指定されたクラスで false を返します。

エラー メッセージを配置するには、カスタム errorPlacement コールバックを追加する必要があります。たとえば、

errorPlacement: function(error, element) {
            if (element.type == 'checkbox') {
                error.insertAfter(element); //something like this, just an example
            }
            else {
                error.insertAfter(element);
            }
        }
于 2012-05-17T11:36:53.823 に答える