Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2016
    Messaggi
    21

    Validazione form java script

    buona sera ragazzi ho un problema con il codice java script per la validazione delle form di registrazione
    In pratica se un utente mette un campo vuoto compare una scritta per segnalare l errore ma se successivamente l utente inserisce in modo giusto la stringa nella forma e in un altra non non risco a cancellare il messaggio di errore che e scritto di fianco alla form compilata correttamente

    codice html:

    codice HTML:
    <!DOCTYPE html><html><head><meta charset="UTF-8"><title>REGISTRATI SU AMERICAN !</title><style>p{display :inline;         color :red ;}</style> <script src="script/validation.js" type="text/javascript"></script>
    </head><body>
    
    <form name="reg"   id="registrazione" method="post" onsubmit="return validateSubmit()" action ="ClienteControl">
    Nome: <input type = "text" name = "nome"  >   <p id="mn"></p> <br> <br>
    Cognme: <input type = "text" name = "cognome">   <p id="mc"></p> <br> <br>
    Username: <input type = "text" name = "username" >  <p id="mu"></p> <br> <br>
    Password: <input type = "password" name = "password" ><p id="mp"></p><br>  <br>
    Email: <input type = "email" name = "email" >  <p id="me"></p> <br> <br>
    Cellulare: <input type = "text" name = "cellulare" ><p id="mcell"></p> <br> <br>
    
    Sesso: <br>
    M:<input type = "radio" name = "sesso" value="M" >      
    
     F:<input type = "radio" name = "sesso" value="F">  <p id="ms"></p>  <br><br>              
    
    Data Di Nascita : <br>
    
    GIORNO: 
    <select name ="giorno"><option value="00">&nbsp;</option><option value="01">01</option><option value="02">02</option><option value="03">03</option><option value="04">04</option><option value="05">05</option><option value="06">06</option><option value="07">07</option><option value="08">08</option><option value="09">09</option><option value="10">10</option><option value="11">11</option><option value="12">12</option><option value="13">13</option><option value="14">14</option><option value="15">15</option><option value="16">16</option><option value="17">17</option><option value="18">18</option><option value="19">19</option><option value="20">20</option><option value="21">21</option><option value="22">22</option><option value="23">23</option><option value="24">24</option><option value="25">25</option><option value="26">26</option><option value="27">27</option><option value="28">28</option><option value="29">29</option><option value="30">30</option><option value="31">31</option></select>
    
    MESE: 
    <select name ="mese"><option value ="00">&nbsp;</option><option value="0">01</option><option value="1">02</option><option value="2">03</option><option value="3">04</option><option value="4">05</option><option value="5">06</option><option value="6">07</option><option value="7">08</option><option value="8">09</option><option value="9">10</option><option value="10">11</option><option value="11">12</option></select>
    
    ANNO:
    <select name ="anno"><option value ="00">&nbsp;</option><option value="1936">1936</option><option value="1937">1937</option><option value="1938">1938</option><option value="1939">1939</option><option value="1940">1940</option><option value="1941">1941</option><option value="1942">1942</option><option value="1943">1943</option><option value="1944">1944</option><option value="1945">1945</option><option value="1946">1946</option><option value="1947">1947</option><option value="1948">1948</option><option value="1949">1949</option><option value="1950">1950</option><option value="1951">1951</option><option value="1952">1952</option><option value="1953">1953</option><option value="1954">1954</option><option value="1955">1955</option><option value="1956">1956</option><option value="1957">1957</option><option value="1958">1958</option><option value="1959">1959</option><option value="1960">1960</option><option value="1961">1961</option><option value="1962">1962</option><option value="1963">1963</option><option value="1964">1964</option><option value="1965">1965</option><option value="1966">1966</option><option value="1967">1967</option><option value="1968">1968</option><option value="1969">1969</option><option value="1970">1970</option><option value="1971">1971</option><option value="1972">1972</option><option value="1973">1973</option><option value="1974">1974</option><option value="1975">1975</option><option value="1976">1976</option><option value="1977">1977</option><option value="1978">1978</option><option value="1979">1979</option><option value="1980">1980</option><option value="1981">1981</option><option value="1982">1982</option><option value="1983">1983</option><option value="1984">1984</option><option value="1985">1985</option><option value="1986">1986</option><option value="1987">1987</option><option value="1988">1988</option><option value="1989">1989</option><option value="1990">1990</option><option value="1991">1991</option><option value="1992">1992</option><option value="1993">1993</option><option value="1994">1994</option><option value="1995">1995</option><option value="1996">1996</option><option value="1997">1997</option><option value="1998">1998</option><option value="1999">1999</option><option value="2000">2000</option><option value="2001">2001</option><option value="2002">2002</option><option value="2003">2003</option><option value="2004">2004</option><option value="2005">2005</option><option value="2006">2006</option>                                          </select><p id="mdata"></p> 
    <br><br><input type="submit" value="invia" >
    
    </form>
     <script >             document.forms.reg.nome.focus();            </script></body></html>
    codice java script:

    codice:
    
    
    
    function validateSubmit() {
    
        var n = document.forms["reg"]["nome"].value;
        var co = document.forms["reg"]["cognome"].value;
        var u = document.forms["reg"]["username"].value;
        var p = document.forms["reg"]["password"].value;
        var e = document.forms["reg"]["email"].value;
        var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
        var t = document.forms["reg"]["cellulare"].value;
        var s = document.getElementsByName("sesso")
        var gg = document.forms["reg"]["giorno"].value;
        var mm = document.forms.reg.mese.value;
        var aa = document.forms["reg"]["anno"].value;
        var f=0;
        
        
    //codice per la validazione sesso    
        
        var c = -1
    
    
    for(var i=0; i < s.length; i++){
      if(s[i].checked) {
         c = i; 
      }
    }
        
    if (c == -1) {
        
        document.getElementById("ms").innerHTML = "IL SESSO E' OBLIGATORIO";
              return false;           
    }    
    
    
    //codice per la validazione del nome    
        
      else if (n == null || n == "") {     
        
             
             document.getElementById("mn").innerHTML = "IL NOME E' OBLIGATORIO";         
             return false;
            
        }
        
        
    //codice per la validazione del cognome    
        
       else if (co == null || co == "") {     
             
             document.getElementById("mc").innerHTML = "IL  COGNOME E' OBLIGATORIO";         
             return false;
            
        }
        
        
        
        
    //codice per la validazione del username  (verificare che sia uunica)    
         
      else  if (u == null || u == "") {     
              
             document.getElementById("mu").innerHTML = "L' USERNAME  E' OBLIGATORIO";         
             return false;
            
        }
        
        
        
    //codice per la validazione password    
         
       else if (p == null || p == "" ||p.length<=6) {     
              
             document.getElementById("mp").innerHTML = "LA PASSWORD E' OBLIGATORIA E DEVE ESSERE DI ALMENO 6 CARATTERI";         
             return false;
            
        }
        
        
        
        //codice per la validazione email    
        
        else if (!email_reg_exp.test(e) || (e == "") || (e == null)) {     
            
             document.getElementById("me").innerHTML = "L' EMAIL DEVE ESSERE DEL TIPO aa@aa.aa";         
             return false;
            
        }
        
    
    
        
    //codice per la validazione cellulare    
         
         else if (t == null || t == "" || (isNaN(t))  || t.length<9) {    
             
             document.getElementById("mcell").innerHTML = "IL RECAPTO TELEFONICO DEVE ESSERE DI ALMENO 9 NUMERI";
              return false;
            
        }
        
        
        
            
    //codice per la validazione della data    
    
    
         else if ( gg=="00"||mm == "00"|| aa =="00"){    
            
             document.getElementById("mdata").innerHTML = "LA DATA E' OBLIGATORIO";
              return false;
            
        }
            
    
    
         else if(mm==3 && gg ==31){
                
               document.getElementById("mdata").innerHTML = "APRILE NON HA 31 GIORNI";
               return false;}
    
    
         else if(mm==5 && gg ==31){
             
           document.getElementById("mdata").innerHTML = "GIUGNO NON HA 31 GIORNI";
           return false;}
    
    
         else if(mm==8 && gg ==31){
              
           document.getElementById("mdata").innerHTML = "SETTEMBRE NON HA 31 GIORNI";
           return false;}
    
    
         else if(mm==10 && gg ==31){
         
           document.getElementById("mdata").innerHTML = "NOVEMBRE NON HA 31 GIORNI";
           return false;}
    
    
         else if(mm==1 && gg >29){
        
           document.getElementById("mdata").innerHTML = "FEBBRARIO NON HA NE 31 NE 30 GIORNI";
           return false;}
    
    
         else if(mm==1 && gg ==29 && (aa%4!=0)){
            
           document.getElementById("mdata").innerHTML = "QUEST ANNO NON E' BISESTILE";
           return false;}
    
    
        else {      
        
           document.getElementById("mn").innerHTML = "";       
           document.reg.submit();        
        }
    
    }

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, probabilmente perchè i controlli li fai tutti sul submit e quindi anche se ricompilato corretto non ci sono altri controlli fino al successivo submit. Potresti pensare di validare i campi sugli eventi di keyup/keydown blur etc...
    In alternativa esistono plugin validi che fanno già tutto questo senza dover inventare tutto da capo e sono anche customizzabili.
    Questo per esempio.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.