我如何确保表单不会提交,如果验证的一个是假的?

$('#form').submit(function(){
    validateForm1();
    validateForm(document.forms['dpart2']);
    validateForm(document.forms['dpart3']);                     
}); 
有帮助吗?

解决方案

如果该函数返回假,形式将不被提交。

$('#form').submit(function(){
    return  validateForm1() 
            && validateForm(document.forms['dpart2']) 
            && validateForm(document.forms['dpart3']);                                         
              }
});

其他提示

$('#form').submit(function(){
    return (validateForm1() &&
            validateForm(document.forms['dpart2']) &&
            validateForm(document.forms['dpart3']))
});

基本上,在事件处理函数返回false。

好了,一些其他的解决方案将有一个懒惰的失败......你可能希望所有的验证运行,以便显示所有错误。推定的是,您的验证方法将返回如果他们失败假的。

$("#myform").submit(function() {

    var ret = true;
    ret = validateForm1() && ret;
    ret = validateForm(document.forms['dpart2']) && ret
    ret = validateForm(document.forms['dpart3'])) && ret
    return ret;

});

这样,所有你的校验器将被调用,但对于任何失败的布尔值,将导致失败。

如果validateForm(...)和validateForm1()返回一个布尔值(true意味着没有发生验证错误),然后尝试做到这一点:

$('#form').submit(function(){
    if (!validateForm1() || !validateForm(document.forms['dpart2']) || !validateForm(document.forms['dpart3'])) {
        return false;
    }
});

一个以为自动出现:即使你实现彻底客户端验证准备接收,你都不可能想象服务器上的任何无效的请求的数据

客户端验证从来没有让你从服务器端验证。它只是在可用性的奖金。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top