如何在页面加载时禁用jquery unobrusive验证,但继续提交单击

时间:2015-07-13 10:39:10

标签: javascript c# jquery asp.net-mvc-5 unobtrusive-validation

我的应用程序,我有一个分割在多个页面上的表单,视图模型被发布到所有页面(前进和后退)。

所有表单方法都是HTTP Post

Page 1 form is submitted to page 2 (Next)
Page 2 form is submitted to Page 3 (Next) or to Page 1 (Previous)
Page 3 form is submitted to Page 4 (Next) or to Page 2 (Previous)
....

我的问题是,当加载页面时,表单被验证并且所有必填字段都处于错误状态(正常,在此阶段它们是空的)

我正在寻找一种方法来禁用页面加载时的无效验证,或者当用户点击上一个按钮时(需要提交,因为应该发布隐藏字段)

只有当用户点击" next"才能进行验证。按钮。

总而言之:我只想在用户点击"下一步"按钮。

感谢

2 个答案:

答案 0 :(得分:0)

您应该能够在提交按钮中添加一个取消的css类,以禁止客户端验证。

<input class="cancel" type="submit" value="Cancel" />

答案 1 :(得分:0)

找到解决方案:在上一个按钮上添加此按钮,单击禁用提交时的验证:

 $("form").validate().cancelSubmit = true;

并在加载第二张贴表单时删除验证:

$(document).ready(function () {

        // don't know why but without this, don't work
        $('#form-inscription').validate().resetForm();

        var $form = $("#form-inscription");

        // get validator object
        var $validator = $form.validate();

        // get errors that were created using jQuery.validate.unobtrusive
        var $errors = $form.find(".field-validation-error");

        // this removes the validation messages
        $errors.each(function (e) {
            $(this).html('');
        });

        // clear errors from validation
        $validator.resetForm();
    });