文件输入字段验证

时间:2012-12-03 13:38:03

标签: jquery validation struts2 jquery-validate struts2-jquery

我试过这个,它没有用。

我想做以下事情:

点击提交按钮时,应验证profilePic。 profilePic不能为null,它必须只接受

中的一个
  

GIF | PNG | JPG | JPEG | PJPEG

文件。

我还想添加最大尺寸以便上传。

 $("#basicprofile").bind("submit", function() {
            $("#profilePic").validate({
                rules: {
                    field: {
                        required: true,
                        accept: "gif|png|jpg|jpeg|pjpeg"
                    }
                }
            });
        });


 <s:form action="basicprofile" method="post" enctype="multipart/form-data" 
  id="basicprofile">
       <s:file name="profilePic"  id="profilePic" label="Profile Picture" />
       <s:submit />
 </s:form>

2 个答案:

答案 0 :(得分:1)

$(document).ready(function() {

    $("#basicprofile").validate({
        rules: {
            profilePic: {
                required: true,
                accept: "gif|png|jpg|jpeg|pjpeg"                
            }
        },

        messages: {
            profilePic: {
                required: "Empty file",
                accept: "Wrong format!!"
            }                  
        },

        errorPlacement: function(error, element) {
            $("#error-messages").html(error); // error container
        }

    });

});

您可以在浏览器中检查字段是否已填充且文件格式是否正确,但检查filessize是一个难题。你必须使用AJAX,并使用浏览器发送到服务器上的文件大小标题。

雅虎的UI库有一个工具来帮助解决这个问题。 YUI上传者

示例(没有检查文件大小):http://jsfiddle.net/burlak/U36JS/

答案 1 :(得分:0)

您必须验证表单,而不是字段。我相信它必须是这样的:

$("#basicprofile").validate({
    rules: {
        profilePic: {
            required: true,
            accept: "gif|png|jpg|jpeg|pjpeg"
        }
    }
});