web-dev-qa-db-ja.com

自分のモジュールに検証を追加するにはどうすればよいですか?

選択オプションからドキュメントタイプを選択してファイルをアップロードし、コードで検証する方法

<form name="file_up_form" method="post" name="fileupload" enctype="multipart/form-data">
    <div class="field_container1 thumbnail span3">
        <label for="select_option">Select option here</label>
        <select name="doc_type" id="select_option" style="width: 200px;" multiple>
            <option value="1">Education</option>
            <option value="2">Certification</option>
            <option value="3">Client Paperwork</option>
            <option value="4">Invoice</option>
        </select>
    </div>
    <div class="field_container thumbnail span4">
        <label for="file">Upload here: </label>
        <input type="file" name="file" id="file">
        <input class="btn btn-primary" type="submit" value="submit" name="submit">
    </div>
    <input type="hidden" name="check" value="1">
</form>

これが私がこれまで使ってきた検証コードです:

<script> 
    function validate() 
    { 
        if(document.fileupload.doc_type.value == "" && document.fileupload.doc_type.value == null) 
        { 
            alert( "Please provide your document!" ); 
            return false; 
        } 
        if(document.fileupload.file.value == "" && document.fileupload.file.value == null) 
        {   
            alert( "Please provide your file!" ); 
            return false; 
        } 
        return true; 
    } 
</script>
1
reegan29

_document.fileupload.doc_type.value_をdocument.getElementById('file').valueに変更します。また、値が_""_ AND nullかどうかを確認していますが、それが可能かどうかはわかりません。

ファイル形式などを確認する必要がない限り、次のような簡単な方法を試してください。

[〜#〜] html [〜#〜]

_<form onsubmit="return(validate());" name="file_up_form" method="post" name="fileupload" enctype="multipart/form-data" >
    <div class="field_container1 thumbnail span3">
        <label for="select_option">Select option here</label>
        <select name="doc_type" id="select_option" style="width: 200px;" multiple>
            <option value="1">Education</option>
            <option value="2">Certification</option>
            <option value="3">Client Paperwork</option>
            <option value="4">Invoice</option>
        </select>
    </div>
    <div class="field_container thumbnail span4">
        <label for="file">Upload here: </label>
        <input type="file" name="file" id="file">
        <input class="btn btn-primary" type="submit" value="submit" name="submit">
    </div>
    <input type="hidden" name="check" value="1">
</form>
_

JavaScript

_<script> 
    function validate() 
    { 
        if(!document.getElementById('file').value) 
        { 
            alert( "Please provide your document!" ); 
        } 
        return false; 
    } 
</script>
_

フォームの送信を停止するファイルが選択されていない場合、false(現在のようにtrueではない)も返すべきではありませんか? _<form>_タグには、おそらくactionパラメータも含める必要があります。

3
johanpw