2
나는 나의 MVC 3 웹 응용 프로그램에서 파일 업로드 기능을하고 난 파일 크기를 확인하기 위해 노력하고있어 및되는 파일 형식 이러한 속성 사용 :MVC 3 파일 업로드 검증 화재 잘못
[FileSize(1048576, ErrorMessage = "The image is too big. It should be up to 1MB")]
[FileType(MimeTypes.Image.Jpg, MimeTypes.Image.Jpeg, MimeTypes.Image.Png, "image/pjpeg", "image/x-png", ErrorMessage = "Your image must be a JPG/JPEG or PNG up to 1MB.")]
public HttpPostedFileBase File { get; set; }
HTML은 다음과 같다 :
를 파일을 선택하면<input type="file" size="20" name="File" />
@Html.ValidationMessageFor(x => x.File)
모든 것이 완벽하게 작동합니다. 그러나 선택된 파일이 없으면 FileSize 또는 FileType 유효성 검사가 실행되고 유효성 검사 오류가 발생합니다. POST에서 File을 필요로하지 않으므로 어떻게 피할 수 있습니까? 당신은 FileSize
및 FileType
지정 유효성 검사를 수정해야합니다
는 값이 (원래 구현에서 복사 붙여 넣기 그것을 제외) null가 아닌 경우, 나는 기본 FileSizeAttribute 유효성 검사를 수행 할 수있는 방법이 있습니까? –
질문을 이해할 수 없습니다. –
위에서 언급 한 것처럼 FileSizeAttribute의 IsValid 메서드를 재정의하면 나머지 유효성 검사 코드를 수동으로 작성해야합니다 (값이 null이 아닌 경우 예제의 TODO 부분). FileSizeAttribute와 똑같은 일을 할 수있는 방법이 있습니까? 내 말은, 값이 null 일 때도 동일한 기능 + 무시가 필요합니다. –