在字段集之间验证

时间:2010-12-09 09:46:57

标签: jquery validation formwizard

我正在使用带有低音验证的formtowizard jquery插件。我已将我的下一个按钮附加到点击事件,该事件验证了我的表单,但我只希望它验证当前字段集而不是整个表单......

我的表单设置如下

<form id="SignupForm" method="POST" action="..................">

    <fieldset>
    <legend>Application</legend>
        <div>

        </div>
    </fieldset>

    <fieldset>
    <legend>Step Two</legend>
        <div>

        </div>
    </fieldset>

这就是我目前正在使用的

  $("a.next").click(function() {
  $("#SignupForm").validate();
  });

这是我的按钮被称为

的地方
function createNextButton(i) {
            var stepName = "step" + i;
            $("#" + stepName + "commands").append("<a href='#' id='" + stepName + "Next' class='next'>Next</a>");

            $("#" + stepName + "Next").bind("click", function(e) {
                /* VALIDATION */
                if (options.validationEnabled) {
                    var stepIsValid = true;
                    $("#"+stepName+" :input").each(function(index) {
                        checkMe = element.validate().element($(this));
                        //stepIsValid = !element.validate().element($(this)) && stepIsValid;
                        stepIsValid = checkMe && stepIsValid;
                    });
                    //alert("stepIsValid === "+stepIsValid);
                    if (!stepIsValid) {
                        return false;
                    };
                }; 

                $("#" + stepName).hide();
                $("#step" + (i + 1)).show();
                if (i + 2 == count)
                    $(submmitButtonName).show();
                selectStep(i + 1,'next');
            });
        }

任何想法?

1 个答案:

答案 0 :(得分:1)

好的,如果有人想知道的话,我已经设法解决了我的问题......

function createNextButton(i) {
    var stepName = "step" + i;
    $("#" + stepName + "commands").append("<a href='#' id='" + stepName + "Next' class='next'>Next</a>");

    $("#" + stepName + "Next").bind("click", function(e) {

        if (options.validationEnabled) {
            var stepIsValid = true;
            $("#"+stepName+" :input").each(function(index) {
                checkMe = element.validate().element($(this));
                //stepIsValid = !element.validate().element($(this)) && stepIsValid;
                stepIsValid = checkMe && stepIsValid;
            });
            alert("stepIsValid === "+stepIsValid);
            if (!stepIsValid) {
                return false;
            };
        }; 

        $("#" + stepName).hide();
        $("#step" + (i + 1)).show();
        if (i + 2 == count)
            $(submmitButtonName).show();
        selectStep(i + 1,'next');
    });
}