2013-08-07 3 views
0

파일을 서버에 업로드하기 위해 Perl 컨트롤러를 호출하는 HTML5 양식이 있습니다. 그것은 작동합니다. 문제는 파일을 선택하지 않은 경우 (양식 상자를 비워두면) 사용자가 버튼을 클릭하면 불쾌한 Perl 오류 메시지가 표시됩니다 ("파일 39 행 등 필요"). 양식을 비워두면 "It 's empty!"라는 메시지가 나타납니다. 보기에서 HTML5로만이 작업을 수행 할 수 있습니까? 아니면 Perl 스크립트를 수정해야합니까? 당신은 당신의 요청을 검증하기 위해 자바 스크립트를 사용할 수html5 : 제출할 양식이 비어있는 경우 "비어있는"메시지 상자를 얻는 방법

<form action="[% uri_for('/upload/execution') %]" method="post" enctype="multipart/form-data" class="form-horizontal"> 
<filedset> 
<div class="control-group"> 
<p> 
<div class="controls"> 
<input readonly value="[% article.article_id %]" name="article_id" type="hidden" class="span1" id="game_id"> 
</div> 
</p> 
<p> 
<div class="form-actions"> 
<input type="submit" value="upload" class="btn btn-primary"> 
</div> 
</p> 
</filedset> 
</form> 
+0

입력 필드에'required' 속성을 넣을 수는 있지만 HTML에서 할 수있는 일은 대부분입니다. Perl 쪽에서 확인해야하지만 Perl에 익숙하지 않다. –

+0

'input' 유형에'name' 속성이 없습니다. 이것이 필드가 서버에 전송되지 않아서 브라우저에서 유효성을 검사하지 않는 이유입니다. – ferdynator

답변

2

: 같은

내 HTML5 보인다.

this question을 참조하십시오. 좋은 코드 샘플이 있습니다.

물론 이것은 클라이언트 측 유효성 검사 (예 : 브라우저에서 완료)이므로 아무도 파일을 끄고 어쨌든 파일을 보낼 수 있습니다 (거의 발생하지 않지만). 이것을 스크립트 수준에서도 처리하는 것이 좋습니다.

관련 문제