在不更新屏幕的情况下调用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然后手动序列化和发送自己。很漂亮,没问题!很高兴我能帮忙。