Comment appeler deux fonctions sur la soumission d'un formulaire

Je suis en train de faire le javascript de validation de formulaire, et pour ce faire j'ai besoin de faire appel à deux fonctions. Pour le mot de passe et le nom d'utilisateur (j'aurai aussi besoin d'appeler plus tard).

Voici mon code JS:

function validateUserName(NewUser)
{
    var u = document.forms["NewUser"]["user"].value
    var uLength = u.length;
    var illegalChars = /\W/; //allow letters, numbers, and underscores
    if (u == null || u == "")
    {
        alert("You left Username field empty");
        return false;
    }
    else if (uLength <4 || uLength > 11)
    {
        alert("The Username must be between 4 and 11 characters");
        return fasle;
    }
    else if (illegalChars.test(u)) 
    {
        alert("The username contains illegal characters");
        return false;
    }
    else
    {
        return true;
    }
}

function validatePassword(pwd, confirmPwd)
{
    var p = document.forms["NewUser"]["pwd"].value
    var cP = document.forms["NewUser"]["cP"].value
    var pLength = p.length;
    if (p == null || p == "")
    {
        alert("You left the password field empty");
        return false;
    }
    else if (pLength < 6 || pLength > 20)
    {
        alert("Your password must be between 6 and 20 characters in length");
        return false;
    }
    else if (p != cP)
    {
        alert("Th passwords do not match!");
        return false;
    }
}

et voici mon formulaire HTML:

<form name = "NewUser" onsubmit= "return validateUserName(), return validatePassword()" action = "">
                <tr>
                <td>Username:</td> 
                <td><input type = "text" name = "user"/></td> 
                </tr>
                <tr>
                <td class = "Information"><em>Must be 4-11 characters.<br/>Only numbers, letters and underscores.</em></td>
                </tr>

                <tr>
                <td>Password:</td>
                <td><input type = "password" name = "pwd"/></td>
                <tr>
                <td  class = "Information"><em>6-20 characters</em></td>
                </tr>

                <tr>
                <td>Confirm Password:</td>
                <td><input type = "password" name = "confirmPwd"/></td>
                <tr>
                <td  class = "Information"><em>just in case you didn't make mistakes!</em></td>
                </tr>

            <input type = "submit" value = "Submit"/>

S'il vous plaît ignorer le code de la table.

Devrais-je plutôt juste de mettre tout ça dans une fonction? Ou est-il un moyen d'appeler les deux fonctions à la fois?

put it all in one function
Son ok pour avoir plusieurs fonctions, comme il est facile à entretenir. Mais, vous devez créer une seule fonction qui s'appelle les deux autres.
vous avez vous-même répondu à la question. Mettre le tout dans une fonction. Appelez simplement commun de la fonction appelée ValidateData et de tout mettre dans un
+1 DannyB. Le cumul des fonctions est sans aucun doute la PIRE façon de résoudre le problème.

OriginalL'auteur entropy | 2013-04-27