0

我确定我只是忽略了一些简单的事情......但我想在 jQuery-steps 表单验证中的无效输入项(例如文本框)旁边显示文本错误消息。基于 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

将您的规则和消息设置为两个单独的对象。试试这个(你可以取消注释最小/最大消息以查看它们是如何工作的):

$('#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 回答