在不更新屏幕的情况下调用jQuery valid()

在不更新屏幕的情况下调用jQuery valid(),jquery,jquery-validate,Jquery,Jquery Validate,我需要知道表格是否有效。但是调用valid()实际上会更新我的屏幕,并将错误消息显示出来。我需要知道我的表单是否在根本不与UI交互的情况下有效。这可能吗?试试这个-用你的东西替换变量 如果您只是验证而没有提交-请执行以下操作: var yourform = $('#yourform'); yourform.validate({ errorPlacement: function(error,element) { return true; } }); $('

我需要知道表格是否有效。但是调用
valid()
实际上会更新我的屏幕,并将错误消息显示出来。我需要知道我的表单是否在根本不与UI交互的情况下有效。这可能吗?

试试这个-用你的东西替换变量

如果您只是验证而没有提交-请执行以下操作:

    var yourform = $('#yourform');
    yourform.validate({
  errorPlacement: function(error,element) {
    return true;
  }
});

    $('a.validateit').click(function(){
    var isvalid = yourform.valid();
    if (isvalid){
    // do stuff
    } else {
        alert('form is not valid');
    }
        });
如果您是在提交时执行此操作:

    var yourform = $('#yourform');

    yourform.validate({
  errorPlacement: function(error,element) {
    return true;
  }
});

    yourform.submit(function(e){
    e.preventDefault();
    var isvalid = yourform.valid();
    if(isvalid){

     $.ajax({
                            type: "POST",
                            url: yourform.attr('action'),
                            data: yourform.serialize(),
                            success: function(response) {
                                     //do stuff
                            },
                            error:function(xhr, ajaxOptions, thrownError){
                                     // do error stuff
                            }
                    });
          });
    } else {
    alert('form is not valid');
    }
    });

您可以指定“不与UI交互”是什么意思吗?您想触发验证什么?我想说
if($(form).valid()){do which}
。当我这样做时,valid()调用会更新我的屏幕(即“FOO字段是必需的”)。问题是.valid()只适用于根据插件站点上的文档单击按钮。我正在单击按钮。是否无法使valid()不更新UI?如果是这样,我将删除插件并关闭问题。我误解了你的问题。我以为你的意思是在不与UI交互的情况下进行验证。让我发布一个答案。谢谢!我没有想过使用preventDefault然后手动序列化和发送自己。很漂亮,没问题!很高兴我能帮忙。