it-swarm-es.tech

¿Cómo agregar validación en mi propio módulo?

Selecciono el tipo de documento de la opción de selección y luego subo el archivo, ¿cómo validarlo en el código?

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

Aquí está el código de validación que estoy usando hasta ahora:

<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

Cambie document.fileupload.doc_type.value A document.getElementById('file').value. Además, está comprobando si el valor es "" Y null, no estoy seguro de si eso es posible.

A menos que necesite verificar el formato de archivo, etc., intente algo más simple como esto:

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>

¿No debería devolver también false (no true como lo hace actualmente) si no se selecciona ningún archivo para detener el envío del formulario? La etiqueta <form> Probablemente también debería incluir un parámetro action.

3
johanpw