1

jQuery Validate を使用してフォームを検証しています。エラーラベルをハードコーディングし、Validate を使用してラベルを表示/非表示にしています。「インライン」ではなく「インラインブロック」として表示するには、jQuery Validate のデフォルトのスタイリングをオーバーライドする必要があったため、ハードコーディングを行ってきました。

検証状態に応じて、「一般」と「6 文字を超えてはならない」という 2 つの異なるエラー メッセージを表示する必要があります。現在は機能していますが、2 番目のエラー メッセージが生成され、スタイルが正しく設定されていないため、レイアウトが崩れます。

jQuery Validation が取得するエラー状態に応じて、どのハードコードされたエラー ラベルを表示するかを決定する方法はありますか?

(PS:生成されたエラーラベルのスタイルをオーバーライドする方法を誰かが教えてくれれば、私の問題も解決します)

ハードコードされたラベルは次のようになります。

<label for="registration" class="error" style="display:inline-block; margin:5px 0 0 130px;">Please enter valid registration</label>

2 番目のものをハードコーディングする必要がありますが、2 つを区別する方法を見つけて、必要な場合にのみ表示します。

<label for="registration" class="error" style="display:inline-block; margin:5px 0 0 130px;">Please enter no more than 6 characters</label>
4

1 に答える 1

0

その1つの入力フィールドのエラークラスに別のクラスを追加することで、これを解決できました。これを行うことで、フォームによって生成される他のエラー メッセージとは異なるスタイルでエラー メッセージを表示できるようになりました。

JavaScript - これは現在の検証関数に追加されます

errorPlacement: function(error, element) {
     if(element.attr("id") == 'username'){ // match your element's id
          error.addClass("errorclass"); // add invalid class
          error.appendTo(element.parent()); // this line willchange depends on your form layout
     else{
          error.appendTo(element.parent()); // this line willchange depends on your form layout
          }
于 2012-08-02T03:15:10.503 に答える