3

jQuery-Validation-Engine を使用して、ファイル入力の MIME タイプを検証したいと考えています。どうすればこれを行うことができますか?

私のアプローチは次のようになります。

function checkMIME(field, rules, i, options){
    var file = $("#userfile")[0].files[0];
    var MimeFilter = /^(image\/bmp|image\/gif|image\/jpeg|image\/png|image\/tiff)$/i;
    if (! MimeFilter.test(file.type)) {
     return options.allrules.validate2fields.alertText;
  }
}

ありがとうカシュダ

4

4 に答える 4

0

これは私のために働く

フォームフィールド内

class="validate[required], custom[validateMIME[pdf|doc|docx]" 

query.validationEngine-LANG.js 内

"validateMIME": {   

    "func": function(field, rules, i, options){
            var uploadedFile = $(field);  

            if (uploadedFile) {
            var extensions = rules[i+2];               
            var mimeFilter = new RegExp(extensions);                     

            return (mimeFilter.test($(uploadedFile).val().split('.').reverse()[0])) ? true : false;
            }                      

     },                        
 "alertText": "Wrong File Extension"
 },  
于 2018-06-08T15:19:51.677 に答える
0

画像が不要な場合は、これを jquery.validationEngine.js に追加するだけです。入力タグにオプションを追加します。

class="validate[optional, custom[validateMIME[image/jpeg|image/png]]]" 

必須フィールドの場合は追加

入力タグに追加:

class="validate[required, custom[validateMIME[image/jpeg|image/png]]]"



"validateMIME":  {
    "func": function(field, rules, i, options){
   //add to input tag: data-validation-engine="validate[required, custom[validateMIME[image/jpeg|image/png]]]"

    var fileInput = field[0].files[0];
    var MimeFilter = new RegExp(rules[3],'i');

    if (fileInput) {
        return MimeFilter.test(fileInput.type);
    } else { return true;}
    },
    "alertText": "* Wrong Mime Type."

    },
于 2015-06-01T08:41:55.293 に答える