[javascript] jQuery에서 입력 파일이 비어 있는지 확인하는 방법

JS를 처음 접했습니다.
jQuery / JavaScript로 양식을 제출할 때 파일 입력 요소가 비어 있는지 확인하려고합니다. 나는 많은 해결책을 겪었고 아무것도 나를 위해 일하지 않습니다. 나는 /c/fakepath(다른 옵션이없는 한)

<input type="file" name="videoFile" id="videoUploadFile" />

작동하지 않습니다.

var vidFile = $("#videoUploadFile").value;

파일 이름을 얻을 수있는 유일한 방법은 다음을 사용하는 것입니다.

var vidFile = document.getElementById("videoUploadFile").files[0].name;

사용 가능한 파일이 없으면 코드에서 오류가 발생합니다.

정의되지 않은 속성 이름을 읽을 수 없습니다.

배열이 설정되지 않았기 때문에 의미가 있습니다. 그러나 이것으로 오류 처리를 수행하는 방법을 알 수 없습니다.

파일 입력 요소를 올바르게 잡고 videoUploadFile비어 있는지 확인하고 비어 있으면 오류 메시지를 던지는 방법은 무엇입니까?



답변

입력 요소에 포함 된 FileList 객체 인 파일 속성 의 길이를 확인하기 만하면 됩니다.

if( document.getElementById("videoUploadFile").files.length == 0 ){
    console.log("no files selected");
}


답변

다음은 jQuery 버전입니다.

if ($('#videoUploadFile').get(0).files.length === 0) {
    console.log("No files selected.");
}


답변

파일 길이 속성을 사용하여 입력 파일이 비어 있는지 여부를 확인하려면 index다음과 같이 지정해야합니다.

var vidFileLength = $("#videoUploadFile")[0].files.length;
if(vidFileLength === 0){
    alert("No file selected.");
}


답변

나는 내가 파티에 늦었다는 것을 알고 있지만 내가 이것을 위해 사용한 것을 추가 할 것이라고 생각했습니다. 이것은 단순히 파일 업로드 입력에 not 연산자 및 JQuery를 사용하여 진실 값이 포함되어 있지 않은지 확인하는 것입니다.

if (!$('#videoUploadFile').val()) {
  alert('Please Upload File');
}

양식에있는 경우 다음 처리기로 래핑하여 양식이 제출되지 않도록 할 수도 있습니다.

$(document).on("click", ":submit", function (e) {

  if (!$('#videoUploadFile').val()) {
  e.preventDefault();
  alert('Please Upload File');
  }

}


답변

질문 : 파일이 비어 있는지 확인하는 방법은 무엇입니까?

정답 :이 Jquery 코드를 사용하여이 문제를 해결했습니다.

//If your file Is Empty :     
      if (jQuery('#videoUploadFile').val() == '') {
                       $('#message').html("Please Attach File");
                   }else {
                            alert('not work');
                   }

    
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="file" id="videoUploadFile">
<br>
<br>
<div id="message"></div>


답변