使用jQuery表单验证远程方法验证上载的文件大小

a20*_*011 2 php jquery jquery-validate

我想按如下方式进行文件大小验证.请查看此提案方法是否有意义.仅此部分应该有效.

1> After the user selects a file, I check whether the file has suffix as png, gif etc.
$("#myform").validate({
 rules: {
   fieldForUpload: {
     required: true,
     accept: "png|gif"
   }
 }
});
Run Code Online (Sandbox Code Playgroud)

2>然后我想使用aJax方法将文件上传到服务器以进行验证,甚至在用户单击提交按钮之前. http://docs.jquery.com/Plugins/Validation/Methods/remote#url

$("#myform").validate({
  rules: {
    fieldForUpload: {
      required: true,
      accept: "png|gif"
      remote: "check-filesize.php"
    }
  }
});
Run Code Online (Sandbox Code Playgroud)

这是我的问题:

1>这种方法有效吗?换句话说,我可以一起验证fieldUpload与"accept"+"remote"吗?

2>我可以强制首先验证"接受",然后验证"远程"吗?

3>如何实现这种"远程"方法?仅供参考:我知道如何使用远程验证数据库中是否存在电子邮件.我是否必须获得一些不同的知识才能实现这一目标?

非常感谢

Nao*_*den 5

如果你想使用jQuery,validate你可以通过创建这个方法:

$.validator.addMethod('filesize', function(value, element, param) {
    // param = size (en bytes) 
    // element = element to validate (<input>)
    // value = value of the element (file name)
    return this.optional(element) || (element.files[0].size <= param) 
});
Run Code Online (Sandbox Code Playgroud)

你会用它:

$('#formid').validate({
    rules: { inputimage: { required: true, accept: "png|jpe?g|gif", filesize: 1048576  }
    messages: { inputimage: "File must be JPG, GIF or PNG, less than 1MB" }
});
Run Code Online (Sandbox Code Playgroud)