jquery.validate分组验证

在很多时候,我们都不是一步就将所有信息填写完整,然后提交。而是分步进行填写表单,如下所示:

第一步填写基本信息,

jquery.validate分组验证

第二步填写教育信息

jquery.validate分组验证

要求我们每一步操作都要进行验证,这样我们可以用以下方式进行验证:

    <script type="text/javascript" language="javascript" src="http://www.cnblogs.com/Scripts/jquery-1.4.1.min.js"></script>

    <script type="text/javascript" language="javascript" src="http://www.cnblogs.com/Scripts/jquery.validate.min.js"></script>

    <h2>

        ValidateStep</h2>

    <form action="" id="registerForm" method="post">

    <div class="step1 validationGroup" style="display: block;">

        <p>

            基本情况</p>

        <table border="0" cellpadding="0" cellspacing="0">

            <tr>

                <td>

                    姓名:<input type="text" id="name" class="required" />

                </td>

            </tr>

            <tr>

                <td>

                    年龄:<input type="text" id="age" class="required number" />

                </td>

            </tr>

            <tr>

                <td>

                    <input type="button" class="next" value="下一步" />

                </td>

            </tr>

        </table>

    </div>

    <div class="step2 validationGroup" style="display: none">

        <p>

            教育背景</p>

        <table border="0" cellpadding="0" cellspacing="0">

            <tr>

                <td>

                    毕业学校:<input type="text" id="school" class="required" />

                </td>

            </tr>

            <tr>

                <td>

                    专业:<input type="text" id="major" class="required" />

                </td>

            </tr>

            <tr>

                <td>

                    <input type="submit" value="提交" />

                </td>

            </tr>

        </table>

    </div>

    </form>

    <script language="javascript" type="text/javascript">

        function InitValidationGroup() {

            $('.validationGroup .next').click(function (evt) {

                if (IsValidated($(this).closest(".validationGroup"))) {

                    $(".step1").hide();

                    $(".step2").show();

                }

                else {

                    evt.preventDefault();

                }

            });



            $('.step1 :text').keydown(function (evt) {

                if (evt.keyCode == 13) {

                    var $nextInput = $(this).nextAll(':input:first');

                    if ($nextInput.is(':submit')) {

                        Validate(evt);

                    }

                    else {

                        evt.preventDefault();

                        $nextInput.focus();

                    }

                }

            });

        }

        function IsValidated(group) {

            var isValid = true;

            group.find(':input').each(function (i, item) {

                if (!$(item).valid())

                    isValid = false;

            });



            return isValid;

        }



        $(document).ready(function () {

            InitValidationGroup();

            var validator = $("#registerForm").validate();

        });    

    </script>

这里的思路,主要用了Jquery validate里的valid()和isValid方法,很简单吧。

你可能感兴趣的:(validate)