ho utilizzato il codice descritto in questo articolo per il controllo dei campi di un form ma ho una difficoltà a personalizzarlo!
il mio codice è il seguente:

codice:
<script type="text/javascript" language="javascript">
 <!--
  function Modulo() {
     // Variabili associate ai campi del modulo
     var Nome = document.Messaggi.Nome.value;
     var Email = document.Messaggi.Email.value;
     var Messaggio = document.Messaggi.Messaggio.value;
     // Espressione regolare dell'email
     var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
        //Effettua il controllo sul campo "Nome e Cognome"
        if ((Nome == "") || (Nome == "undefined")) {
           alert("Il campo Nome è obbligatorio.");
           document.Messaggi.Nome.focus();
           return false;
        }
        //Effettua il controllo sul campo "Email"
        else if (!email_reg_exp.test(Email) || (Email == "") || (Email == "undefined")) {
           alert("Inserire un indirizzo Email corretto.");
           document.Messaggi.Email.select();
           return false;
        }
        //Effettua il controllo sul campo "Messaggio"
        else if ((Messaggio == "") || (Messaggio == "undefined")) {
           alert("Il campo Messaggio è obbligatorio.");
           document.Messaggi.Messaggio.focus();
           return false;
        }
        //INVIA IL MODULO
        else {
           document.Messaggi.action = "sendmail.php";
           document.Messaggi.submit();
        }
  }
 //-->
</script>
rispetto all'originale infatto l'ho parecchio ridotto, io ho solo 5 campi di cui 2 obbligatori!
Quello che mi crea problemi è l'email, che deve essere verificata se corretta ma non è obbligatoria. come faccio?
ho provato togliendo (Email == "") || (Email == "undefined") ma non cambia!

Inoltre vi propongo un altro quesito: è possibile mettere lo stesso script in un file esterno o ci sono rischi che non venga caricato compromettendo il controllo?

grazie!