立即显示所有验证错误,并且在修复之前不允许提交

时间:2015-07-27 16:52:57

标签: javascript jquery forms validation

所以,我使用validate.js,我的表格中有以下内容;它显示第一个字段(名字)的错误消息,但是它就是它!如何一次显示所有错误,并且在修复之前不允许提交?

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script src="http://ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.min.js"></script>
<script src="js/main.js"></script>
$(document).ready(function () {
    $('.plastic').slideDown('fast');
    $('#contactform').validate({ // initialize the plugin
        // errorPlacement: function(){
        //     return false;
        // },
        submitHandler: function (form) {
            $('.formcolumn').hide();
            $('.button').hide();
            $('.thanks').fadeIn();
            // alert('valid form submitted'); 
            return false; // for demo
        }
    });

});

基本上它似乎只是验证了名字?

我试过了:

$('.button').click(function () {
    $('#contactform').valid(); // run a validity test on the form (shows any errors)
});

1 个答案:

答案 0 :(得分:1)

试试这个:

$('#contactform').validate({
        rules: {
            name: {
                required: true
            },
            subject: {
                required: true
            },

            // Add more fields here


        },


        highlight: function(element) {
            $(element).closest('.form-group').addClass('has-error');
        },
        unhighlight: function(element) {
            $(element).closest('.form-group').removeClass('has-error');
        },
        errorElement: 'span',
        errorClass: 'help-inline',
        errorPlacement: function(error, element) {

                error.insertAfter(element);


        },

        submitHandler : function(form) {
          form.submit();
         }

    });

编辑:

您的HTML应如下所示:

<span class="form-group">
                     <input type="text" name="name" id="name" />
                 </span>