使用 jQuery 验证插件验证一些文件输入字段

Posted

技术标签:

【中文标题】使用 jQuery 验证插件验证一些文件输入字段【英文标题】:Validate some file input fields with jQuery validate plugin 【发布时间】:2012-10-18 22:57:26 【问题描述】:

html

<div id="multadpic">
    <input type="file" name="adpic[]" />
</div>

我在这个 div 后面有一个按钮,我可以添加无限文件输入,如下所示:

<div id="multadpic">
    <input type="file" name="adpic[]" />
    <input type="file" name="adpic[]" />
    <input type="file" name="adpic[]" />
    <input type="file" name="adpic[]" />
    <input type="file" name="adpic[]" />
</div>

我将如何使用 jQuery 验证插件对其进行验证?考虑到我不能在规则中写方括号,但是输入的名称有方括号..

我发现的一个解决方案是在插件之后编写自己的验证(但我不知道它是否有效,或者它是否是一个糟糕的解决方法):

jQuery('#myForm').validate(

    rules:
    
        //my rules
    ,

    messages:
    
        //my messages
    ,

    submitHandler:
    
        //my file input validation
    
);

我已经阅读了很多关于此的问题,但没有一个答案能解决我的需求。

提前感谢您的关注。

【问题讨论】:

您要进行哪种类型的验证?为什么你不能逃脱括号? 我需要验证文件扩展名,只接受 'jpg|jpeg|png' 和文件大小。是否有可能逃脱括号?我不知道那个.. 要转义括号,请使用\\[ 而不是[\\] 而不是] 这行不通,蝙蝠侠。 括号不会被转义。整个name 只是用引号括起来,"adpic[]" 【参考方案1】:

方括号对于.validate() 插件来说不是问题。您必须简单地将包含特殊字符的 name 括在引号中。

工作演示

http://jsfiddle.net/grVmG/

jQuery

$(document).ready(function() 

    $('#myform').validate(
        rules: 
            "field[]": 
                required: true,
                minlength: 5
            
        ,
        messages: 
            "field[]": 
                required: "this is required",
                minlength: "must be at least 0 characters"
            
        
    );

);

HTML

 <input type="text" name="field[]" />

【讨论】:

以上是关于使用 jQuery 验证插件验证一些文件输入字段的主要内容,如果未能解决你的问题,请参考以下文章

jQuery验证插件清除IE中的文件输入值

jQuery 验证插件日期格式:日期干扰 dateITA

想要使用 jquery 输入掩码插件在按钮单击 ipaddress 字段时验证用户

Jquery 验证插件,包括文件验证和动态字段

如何使用 jQuery 验证插件验证 Select2 插件数组

jQuery验证插件 Validate详解