【问题标题】:jQuery Validation - Form submits even when wrong file-type is indicated [duplicate]jQuery Validation - 即使指示错误的文件类型,表单也会提交[重复]
【发布时间】:2015-01-04 11:46:18
【问题描述】:

我为我的文件字段编写了以下规则,因为我希望只接受 PDF 文件的 Word 文档。

paperupload:{required: true, accept: "application/msword, application/pdf"}

当我上传一个 JPG 文件进行测试时,表单提交时也没有验证其他字段。我在这里做错了什么吗?

$("#papersubmitform").validate(
    {
        submitHandler: function(form) {

                        $(form).submit();

        },

        messages: {
            //CHECK Correspondence Authors' Information
            contactTitle: "Please specify Correspondence Author's Title",
            contactFirstName: "Please specify Correspondence Author's First Name",
            contactLastName: "Please specify Correspondence Author's Last Name",
            contactEmail: "Please specify Correspondence Author's Email Address",
            contactUniList: "Please specify Correspondence Author's University",
            //paperTitle:"Please specify Paper Title",
            paperAbstract:"Please specify Paper Abstract"

        },

        rules:{
            //Rules for Correspondence Author's Information
            contactTitle: {required: true},
            contactFirstName: { required:true},
            contactLastName: { required:true},  
            contactEmail: {required:true, email: true},
            contactUniList:{ required:function(){
                if(checkuninotinlist){ return false; }
                    else { return true; }
                }
            },

            contactUniversityName:{ required: function(){
                    if(checkuninotinlist){ return true; }
                    else { return false; }
                    }
            },

            contactUniCountry:{ required: function(){
                    if(checkuninotinlist){ return true; }
                    else { return false; }
                    }
            },


            contactOrganisation: { required:function(){ 
                    if(checkorganisation){ return true; }
                    else { return false; }
                    }
            },

            contactOrgCountry: { required:function(){ 
                    if(checkorganisation){ return true; }
                    else { return false; }
                    }
            },

            mailinglist:{required:true},
            researchmethod:{required:true},

            //PAPER INFORMATION
            paperTitle:{required:true},
            paperAbstract:{required:true},
            paperupload:{required: true, accept: "application/msword, application/pdf"}

    }
 });            

HTML 在这里

<input type="file" name="paperupload" />

【问题讨论】:

  • @Norman,再次阅读 OP 的代码。在那里;虽然这不是必需的。只需省略submitHandler,插件默认的行为与$(form).submit() 相同。

标签: jquery jquery-validate


【解决方案1】:

您必须包含the additional-methods.js file 才能使用accept 方法。

在你包含 jQuery Validate 插件之后包含它。

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.validate.js"></script>
<script type="text/javascript" src="additional-methods.js"></script>

【讨论】:

  • 谢谢!我之前没有包含其他方法:)
猜你喜欢
  • 1970-01-01
  • 2011-11-28
  • 1970-01-01
  • 1970-01-01
  • 2015-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多