0

MVC 4 ビューには、イメージ コントロールとして 1 つの入力タイプ ファイルがあります。

<input type="file" id="imageUpload"  name = "imagetoupload"  onchange="readURL(this);" accept="*.jpg,*.gif,*.png,*.jpeg"/>

画像を選択せず​​にフォームを送信すると、すべての検証 (JQuery とモデルの両方) が正常にトリガーされました。

ただし、画像をアップロードしてフォームを送信すると、検証は発生しません。送信クリックで次のコードを使用して、画像のアップロードの検証を明示的に除外しようとしましたが、うまくいきませんでした。

$("#frmRegister").validate({
        ignore:"input[type='file']"
        });

どんな助けでも大歓迎です。

4

1 に答える 1

0

そのエラーのカスタムスクリプトを追加して解決しました

function readURL(input) {

        var fileExtension = ['jpeg', 'jpg', 'png'];
        if ($.inArray($(input).val().split('.').pop().toLowerCase(), fileExtension) == -1) {
            alert('@resourceFactory.GetLocalizedValue(PhraseConstants.InvalidFileType)');
            location.reload();
            return false;
        } 

        if (input.files)
        {
            if (input.files[0] && input.files[0].size <= GetFileSize()) {
                var reader = new FileReader();
                reader.onload = function (e) {
                    $('#fileToUpload')
                            .attr('src', e.target.result)
                            .width(90)
                            .height(90);
                };
                reader.readAsDataURL(input.files[0]);
            }
            else {
                alert('@resourceFactory.GetLocalizedValue(ImageSizeExceed)');
            }
        }
    }
于 2013-12-31T06:42:34.923 に答える