0

asp.net mvc3 を使用しています。サーバー側とクライアント側の検証には、邪魔にならないデータ注釈と Jquery を使用しています。画像ファイル拡張子のみを受け入れる fileupload を検証する方法。他のものとまったく同じように動作する必要があります。サーバー側とクライアント側のカスタム バリデータを作成する必要がありますか? 前もって感謝します

4

1 に答える 1

0

次のようなことができます: モデルでプロパティを使用している場合

public class ValidateFileAttribute : ValidationAttribute { public override bool IsValid(object value) { int MaxContentLength = 1 * 1024 * 700; //3 MB string[] AllowedFileExtensions = new string[] { ".jpg", ".gif", ".png", ".pdf" };

            var file = value as HttpPostedFileBase;

            if (file == null)
                return false;
            else if (!AllowedFileExtensions.Contains(file.FileName.Substring(file.FileName.LastIndexOf('.'))))
            {
                ErrorMessage = "Please upload Your image of type: " + string.Join(", ", AllowedFileExtensions);
                return false;
            }
            else if (file.ContentLength > MaxContentLength)
            {
                ErrorMessage = "Your image is too large, maximum allowed size is : " + (MaxContentLength / 1024).ToString() + "MB";
                return false;
            }
            else
                return true;
        }
    }
于 2013-03-19T13:14:30.963 に答える