使用Jquery验证在单击时验证单个字段集

时间:2015-08-16 19:26:02

标签: javascript jquery forms jquery-validate

我制作了一个包含多个部分的表单,后面的部分是隐藏的,但会在用户单击当前部分的下一个按钮后显示。我想做简单的事情"必须填补"在显示表单的其余部分之前对此单击进行验证。

至于我可以从这里收集其他问题,我的方法应该有效.. var validate如果发现错误将等于true,这将阻止表单进展但会允许表单进展一次字段已填满,再次单击按钮

然而,此刻所有这一切似乎都是验证第一个字段然后什么都不做。即使该字段有效,它仍然不会随着该函数的其余操作而进展。

js library:http://cdn.jsdelivr.net/jquery.validation/1.14.0/jquery.validate.min.js

我尝试使用的方法:http://jqueryvalidation.org/Validator.element/

<div class="col-sm-8 sec-one">
    <div class="form-group">
        <select name="t1" required>
            <option value="" disabled selected>Choose an option...</option>
            <option value="B">B</option>
            <option value="C">C</option>
            <option value="A">A</option>
            <option value="D">D</option>
        </select>
    </div>
    <div class="form-group">
        <select name="t2" required>
            <option value="" disabled selected>Choose an option...</option>
            <option value="A">A</option>
            <option value="D">D</option>
            <option value="B">B</option>
            <option value="C">C</option>
        </select>
    </div>
    <button type="button" class="formbut next1">Next</button>
</div>


var validator = $("form").validate();

$(".next1").click(function () {
    validator.element('.sec-one [name]');
    if (validator) {
        $(".sec-one").slideUp("slow", function () {
            $(".sec-two").slideDown("slow");
        });


    } else {}
});

1 个答案:

答案 0 :(得分:3)

  

“至于我可以从这里收集其他问题,我的方法应该有用..如果发现错误,var validate应该等于true

I'm not sure where you saw that。在您的代码中,您已从条件中删除了element()部分。如果没有错误,$('#yourform').validate().element()应该返回true

var validator = $("#myform").validate();  // create the validator variable
validator.element("#myselect"); // test an element

更好的方式......

请参阅官方网站,然后使用the .valid() method测试表单和/或单个元素。 true表示无错误

$('#myform').valid();

$('input[name="myelement"]').valid();