0

私はこれを試しましたが、うまくいきません。

私は次のことをしたい:

送信ボタンをクリックすると、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>
4

2 に答える 2

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
        }

    });

});

フィールドが入力済みで、ブラウザでファイルの形式が正しいことを確認できますが、ファイルサイズを確認するのは難しい問題です。AJAXでそれを行う必要があり、POSTリクエストでブラウザからサーバーに送信されるファイルサイズヘッダーを使用します。

Yahoo の UI ライブラリには、これを支援するツールがあります。YUI アップローダ

例 (ファイル サイズのチェックなし): http://jsfiddle.net/burlak/U36JS/

于 2012-12-03T14:21:41.067 に答える
0

フィールドではなく、フォームを検証する必要があります。私はそれが次のようなものでなければならないと信じています:

$("#basicprofile").validate({
    rules: {
        profilePic: {
            required: true,
            accept: "gif|png|jpg|jpeg|pjpeg"
        }
    }
});
于 2012-12-03T14:16:01.123 に答える