0

私のコード検証機能によると、ZIP バージョンのみを受け入れる必要があります。

したがって、私の最初のシステムでは、3つのブラウザーすべて「IE 10、Chrome 29、およびFirfox 24」で動作し、 WINRARがインストールされていません

しかし、今、私はいくつかの奇妙な問題を抱えています.WINRARがインストールされていない時まで私のコードは正常に動作していました.WINRARがインストールされている他のシステムでは、ZIPファイルもアップロードすると問題が発生します.システム、それでも「ZIPファイルのみを受け入れます」というエラーが表示されます

以下は私のコードとフィドルです:

Jクエリ

<script>

    $().ready(function () {

        // validate signup form on keyup and submit
        $("#deploymentUploadForm").validate({

            rules:{
                File: {
                    required: true,
                    accept: "application/zip,application/octet-stream,application/x-zip,application/x-zip-compressed"
                }
            },

            messages:{
                File: {
                    required: "This field is mandatory!",
                    accept: "Accepts only zip file!"
                }
            }  

        });

    });
</script>

HTML

    <div id="wizardSteps">
            <form action="~/Deployment/FileUpload" name="deploymentUploadForm" id="deploymentUploadForm" enctype="multipart/form-data" method="post">
                <h1>Deployment</h1>

                <p>
                    <input type="file" name="File" accept="application/zip">
                </p>

                <div role="button" class="marginTop50 marginBottom">
                    <p>
                        <input type="submit" id="getDeploymentList" value="Upload" class="active" >
                    </p>
                </div>
            </form>
        </div>

フィドル http://jsfiddle.net/aasthatuteja/rMS8D/

最初のシステムにWINRARをインストールしたときも同じ問題が発生しています(WINRARをインストールする前に正常に動作していました)

他に何か必要な場合はお知らせください。

よろしくお願いします!

4

1 に答える 1

0

"accept:" メソッドが "WinRaR" によって作成された zip ファイルを受け入れない理由を見つけるのに苦労した後.. "additional-methods.js" で提供される "extension" を使用して "accept" メソッドを変更しました -- <script src="http://jquery.bassistance.de/validate/additional-methods.js"></script>. 以下の最新のコードを見つけてください。

Jクエリ:

<script>

    $().ready(function () {

        // validate signup form on keyup and submit
        $("#deploymentUploadForm").validate({

            rules:{
                File: {
                    required: true,
                    extension: "zip"
                }
            },

            messages:{
                File: {
                    required: "This field is mandatory!",
                    extension: "Accepts only zip file!"
                }
            }  

        });

    });
</script>

完全な「additional-methods.js」を含めたくない場合は、以下にメソッドを示します:-

jQuery.validator.addMethod("extension", function(value, element, param) {
  param = typeof param === "string" ? param.replace(/,/g, '|') : "png|jpe?g|gif";
  return this.optional(element) || value.match(new RegExp(".(" + param + ")$", "i"));
}, jQuery.format("Please enter a value with a valid extension."));

問題を調査していただきありがとうございます。

于 2013-09-27T20:28:18.457 に答える