首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >即使表单有效,JQueryValidation也会阻止表单提交

即使表单有效,JQueryValidation也会阻止表单提交
EN

Stack Overflow用户
提问于 2014-03-22 19:41:20
回答 2查看 280关注 0票数 0

我有一个由优秀的JQueryValidation插件验证的表单。

但是,由于某些原因,表单在验证时根本不想提交。我已经隔离了问题,这是由于验证本身造成的-我的表单HTML是有效的,并且在没有JQueryValidation的情况下提交得很好。

下面是我传递给JqueryValidation对象的对象:

代码语言:javascript
代码运行次数:0
运行
复制
var validator = $("#registrationForm").validate({

        debug: true,

        rules: {

            registerName: {
                required: true
            },

            registerEmail: {
                required: true,
                email:true,
                remote: "http://beta.build2trade.com/Testmail.asp",
            },

            registerPassword: {
                required: true
            },

            registerPasswordConfirm: {
                required: true,
                equalTo: "#registerPassword"
            },

            registerSub: {
                pattern: "^[a-zA-Z0-9]+$",
                remote: "http://beta.build2trade.com/testsub.asp",
                required: { 
                    depends: function(element) {
                        if ($("#domain-type-3").is(":checked")){
                            console.log("Subdomain Radiobutton checked");
                            return true;
                        } else {
                            console.log("Subdomain Radiobutton not checked");
                            return false;
                        }
                    }
                }
            },



        },

        messages : {

            registerName: "Please type in your name.",
            registerEmail: "Please enter a valid email.",
            registerPassword: "Please type in your password.",
            registerPasswordConfirm: "Please confirm your password.",
            registerSub: "Invalid Subdomain."

        },

    });

这是表单的行为方式:

所有字段都按照预期完美地进行了验证,在正确的时间显示了正确的消息。但是当您单击Submit按钮(这是一个类型为“submit”的元素)时,什么也不会发生。按钮坏了。

在上面的代码下面包含了pattern.js文件,并且RegEx正确地验证了子域字段。

我暗自怀疑这可能是由于registerSub元素上的"depends“函数造成的,但是注释掉这些行没有任何效果。

任何洞察力都将不胜感激。谢谢!

EN

回答 2

Stack Overflow用户

发布于 2014-03-22 19:42:41

因为您有debug: true,,它将阻止表单提交,即使表单是有效的…它只是为了测试..。

去掉它,它就会好起来

票数 2
EN

Stack Overflow用户

发布于 2014-03-22 21:18:59

问题解决了!

问题在于我使用的是本地主机环境,并且有一个remote验证规则。

我在本地主机环境中工作,使用remote规则验证域名和电子邮件地址字段。在本地环境中,由于HTTP安全限制,这些验证失败。

然而,我遇到的问题是表单根本没有张贴。

起初,我认为这可能是因为表单无效,但我使用console.log检查valid()方法,它返回true

因此,我认为一定是有某种事件阻止了表单的提交。

但是,当我将我的代码发布到一个实时环境中进行检查时,这个问题消失了。

因此,看起来"remote“方法验证了表单,但是如果有一个元素是远程验证的,那么这个验证不会计入valid()方法中。

我已经用JQueryValidation记录了这一点。感谢大家的阅读。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22577111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档