J'ai essayé de valider le mot de passe avec une fonction regex en javascript. J'ai mis le bouton désactivé par défaut et quand le mot de passe est valide, je veux activer le bouton.La validation du mot de passe avec javascript et regex ne fonctionne pas
La validation ne fonctionne pas.
Ici vous pouvez voir le code javascript:
function validPW() {
if (isValid("passwort",document.getElementById("passwordRegistrationID").value)) {
document.getElementById('passwordRegistrationID').disabled=false;
}
function isValid (type, toValidate){
switch (type){
case "grossbuchstabeVorhanden" :
var grossbuchstabe = /[A-Z]+/;
return grossbuchstabe.test (toValidate);
break;
case "kleinbuchstabenVorhanden" :
var kleinbuchstabe = /[a-z]+/;
return kleinbuchstabe.test (toValidate);
case "zahlenVorhanden" :
var zahlen = /[0-9]+/;
return zahlen.test (toValidate);
case "sonderzeichenVorhanden" :
var sonderzeichen = /[?!$%&/=<>_]+/;
return sonderzeichen.test (toValidate);
case "laengeRjichtig" :
var laenge =/.{9,}/;
return laenge.test (toValidate);
case "passwort":
return isValid("grossbuchstabeVorhanden",toValidate) && isValid("kleinbuchstabenVorhanden",toValidate)
&& isValid("zahlenVorhanden",toValidate) && isValid("sonderzeichenVorhanden",toValidate)
&& isValid("laengeRjichtig",toValidate)
}
Voici le formulaire html
<form role="form" action="/user/doRegistration" method="post" class="login-form">
<div class="form-group" id="usernameRegistrationDiv">
<label class="sr-only" for="form-usernameRegistration">Username</label>
<input type="email" name="form-usernameRegistration" required="required" placeholder="Username..." class="form-usernameRegistration form-control"
id="form-usernameRegistration">
</div>
<div class="form-group" id="passwordRegistrationDiv">
<label class="sr-only" for="form-passwordRegistration">Password</label>
<input type="password" name="form-passwordRegistration" required="required" placeholder="Password..." class="form-passwordRegistration form-control"
id="passwordRegistrationID" oninput="validPW();">
</div>
<div class="form-group">
<label class="sr-only" for="form-password-registration">Password repeat</label>
<input type="password" name="form-password-registration" required="required" placeholder="Password repeat..." class="form-password-registration form-control"
id="form-password">
</div>
<button type="submit" id="buttonRegistration" class="btn" disabled> Sign up!</button>
</form>
Message d'erreur:
registration:97 Uncaught ReferenceError: validPW is not defined
Et quelle est votre erreur? Votre validation fonctionne et votre disable = false fonctionne – Fallenhero
J'ai mis à jour le post –