针对点击事件无效的ajax帖子的MVC 5客户端验证?

时间:2015-08-20 08:04:28

标签: javascript jquery ajax validation asp.net-mvc-5

我必须使用针对ajax帖子的click事件实现客户端验证。我跟着下面的网址:

Call MVC 3 Client Side Validation Manually for ajax posts

我试过用这个:

$('#buttonId').click(function(evt) {
    evt.preventDefault();
    var $form = $('form');
    if($form.valid()) {
        //Ajax call here
    }
});

但现在的问题是,如果存在无效数据,验证工作正常。但是,如果我也提供适当的输入,页面正在重新加载,结果是空白页面。

我尝试用return false替换evt.preventDefault()。但那里的验证不起作用。任何人都可以帮我解决这个问题。

问题是如果没有选择下拉,则验证消息即将到来。但如果我给出正确的输入,则不显示输出。页面正在刷新。

我猜问题是evt.preventDefault()。但是如果没有这个

,验证就无法运行

2 个答案:

答案 0 :(得分:1)

不要点击按钮,我建议使用以下内容。如果表单有效,' submitHanderl 是一个回调函数。

$("form").validate({
    submitHandler: function(form) {
        //Ajax call here
    }
});

答案 1 :(得分:0)

另外,为了将来参考,如果添加type="button",它会将按钮视为按钮,并且不会提交点击。与执行event.preventDefault()<a>代码的return false;

相同