it-swarm.com.de

Wie füge ich eine Validierung in meinem eigenen Modul hinzu?

Ich wähle den Dokumenttyp aus der Auswahloption aus und lade dann die Datei hoch, um den Code zu validieren

<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>

Hier ist der Validierungscode, den ich bisher verwende:

<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

Ändern Sie document.fileupload.doc_type.value In document.getElementById('file').value. Außerdem prüfen Sie, ob der Wert "" UND null ist. Ich bin nicht sicher, ob dies möglich ist.

Versuchen Sie Folgendes, es sei denn, Sie müssen das Dateiformat usw. überprüfen:

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>

Sollten Sie nicht auch false zurückgeben (nicht true, wie Sie es derzeit tun), wenn keine Datei ausgewählt ist, um das Senden des Formulars zu verhindern? Das <form> - Tag sollte wahrscheinlich auch einen action -Parameter enthalten.

3
johanpw