0

私は単純なものを見落としているだけだと確信しています...しかし、jQueryステップのフォーム検証で無効な入力項目(テキストボックスなど)の横にテキストエラーメッセージを表示したいです。Jquery-steps に基づくコードはこちら

私が読んできたことから、これはトリックを行う必要があります:

<script>
    $(function ()
    {

/*            function errorPlacement(error, element)
        {
            element.before(error);
        }*/

        $("#form").validate({
            rules: {
                zip: {
                    required: true,
                    digits:true,
                    maxlength:5,
                    minlength:5
                    },
                messages: {
                    zip: "entr da zip dode"
                    }
            }
        });

        $("#wizard").steps({
            headerTag: "h3",
            bodyTag: "section",
            transitionEffect: "slideLeft",
            onStepChanging: function (event, currentIndex, newIndex)
            {
                // Allways allow step back to the previous step even if the current step is not valid!
                if (currentIndex > newIndex)
                {
                    return true;
                }

              $("#form").validate().settings.ignore = ":disabled,:hidden";
                return $("#form").valid();

            },
            onFinishing: function (event, currentIndex)
            {
                $("#form").validate().settings.ignore = ":disabled";
                return $("#form").valid();
            },
            onFinished: function (event, currentIndex)
            {
                alert("Thank you! Your request has been sumbitted.");
            }
        });
    });

    //PHONE NUMBER MASKING FUNCTION     
    jQuery(function($){
       $("#phone").mask("999-999-9999",{placeholder:" "});
    });

しかし、検証では単にこれを無視し、無効なアイテムに 'class="error"' を追加するだけで、ラベルや div (など) を追加してメッセージを表示しません。

私は何を取りこぼしたか?

4

1 に答える 1

0

ルールとメッセージを 2 つの個別のオブジェクトとして設定します。代わりにこれを試してください(最小/最大メッセージのコメントを外して、それらがどのように機能するかを確認できます):

$('#form').validate({
  rules: {
    zip: {
      required: true,
      digits: true,
      minlength: 5,
      maxlength: 5
    }
  },
  messages: {
    zip: {
      //minlength: jQuery.format("Zip must be {0} digits in length"),
      //maxlength: jQuery.format("Please use a {0} digit zip code"),
      required: "entr da zip dode"
    }
  }
});
于 2014-06-30T22:02:09.580 に答える