仅在表单提交后进行JQuery远程验证

时间:2010-03-15 12:07:38

标签: jquery jquery-validate

我希望在表单提交后才能调用远程调用,而不是在每次更改后验证值。这可能吗?

<input type="text" remote="validate_url.php" > 

3 个答案:

答案 0 :(得分:1)

你尝试过这样的事吗?设置远程字段以忽略并在提交表单时手动验证它。

$("#yourFormSelector").validate({
    ...
    ignore: 'input[remote]',
    submitHandler: function(form) {
        if($(form).validate().element("input[remote]"))
            form.submit();
        else
            alert("Nope. Remote failed");
    }
});

答案 1 :(得分:1)

检查http://docs.jquery.com/Plugins/Validation/validate

如果您只想在提交时进行验证,则可以禁用其他事件:

$("#form").validate({
   onsubmit: true,
   onkeyup: false,
   onclick: false,
   onfocusout: false,
...
})

答案 2 :(得分:0)

<input type="text" remote="validate_url.php" id="place" name="place"> 

在JQuery页面加载中,我添加了以下内容:

 $().ready(function() {
        $("#form-id").validate({
            onkeyup: false,
            messages: {
                place: {
                    required: "Please enter Place",
                    remote: jQuery.format("Please enter a valid Place or select one form the List") 
                }
            }
        });


    });

这里我试图实现以下目标:(1)用户可以输入有效位置或(2)从列表中选择一个位置。

(开始输入自动提示时会列出匹配的地方)。现在,用户可以继续键入或从列表中选择一个。如果用户要从列表中选择一个,则“controll”从“文本框”中丢失并且“远程”验证开始&amp;在用户选择有效的地名之前返回错误..

实际上,当“控件不在文本框和自动提示列表中”时,我需要调用远程验证。自动提取值在类“autosuggestion”中。