asp.net mvc重定向到操作而不在当前视图中触发验证?

时间:2014-10-11 17:43:42

标签: asp.net asp.net-mvc asp.net-mvc-4 validation

我有一个有多个提交按钮的视图。一个按钮用于返回另一个操作,该操作执行一些处理并加载上一个视图。

但是,在当前视图中,它对模型有一些验证。因此,单击该按钮时,将显示验证错误。

有没有办法解决这个问题?或者,我们必须在服务器端验证数据?

由于

3 个答案:

答案 0 :(得分:2)

ASP.NET MVC中的内置客户端验证使用了底层的jquery validation plugin,您可以跳过验证,同时仍然使用提交按钮并向该输入添加class="cancel"

<input type="submit" value="Do not validate" class="cancel" />

documentation

中也可以看到这一点

答案 1 :(得分:1)

您可以通过以下方式取消验证:

$('#yourButton').click(function() { 
    $('input, textarea, select', '#yourForm').each(function () {
        $(this).attr('data-val', 'false');
    });
})

$("#yourButton").click(function() {
    $('#yourForm').removeData('validator');
    $('#yourForm').removeData('unobtrusiveValidation');
    $('#yourForm').validate().cancelSubmit = true;
    $('#yourForm').submit();
});

答案 2 :(得分:0)

class =&#34;取消&#34;现在由formnovalidate属性

替换