Je travaille sur un devoir à faire à la maison et j'essaie de comprendre comment faire ce qui suit:
À ce stade, j'ai les erreurs d'origine qui sont déclenchées par aucune entrée, cependant, une fois que j'ai testé le deuxième cas de non-respect des alphanumériques ou 8 caractères, je n'obtiens pas la réponse attendue.
Voici un exemple du JS que j'ai écrit jusqu'à présent ainsi que du HTML:
Toute aide serait grandement appréciée! Merci d'avance!
<!DOCTYPE html> <html lang="en-US"> <head> <title>Invitation Page</title> <link rel="stylesheet" type="text/css" href="css/main.css" /> <script src="js/registration.js"></script> </head> <form name="pageForm"> <form action="#"> <label for="userName">Username:</label> <input type="text" name="userName" placeholder="Enter your Username" /> <span class="error" id="userName"></span><br><br> <label for="Password">Password: </label> <input type="password" name="password" placeholder="Enter your Password" /> <span class="error" id="password"></span><br><br> <input type="button" value="Submit" onclick="checkRegistration()"> </form> </form>
window.onload = init; function checkRegistration() { var checkev = 0; var uName = document.pageForm.userName.value; var alphaNum = /^[a-z0-9]+$/i; var password = document.pageForm.password.value; if (uName == "") { document.getElementById('userName').innerHTML = "A username is required."; checkev=0; } else if (uName.match != alphaNum) document.getElementById('userName').innerHTML = "Username must contain at least one letter and one number, no special characters."; { document.getElementById('userName').innerHTML = ""; checkev++; } if (password == "") { document.getElementById('password').innerHTML = "A password is required."; checkev = 0; } else if (password.lenth >= 8) document.getElementById('password').innerHTML = "A password of at least 8 characters is required."; else { document.getElementById('password').innerHTML = ""; checkev++; }
3 Réponses :
1 faute de frappe et 1 problème de logique.
Essayez password.length <8
<input type="text" name="userName" id="userName" placeholder="Enter your Username" /> <input type="password" name="password" id="password" placeholder="Enter your Password" /> you miss id attribute when you used getElementById() and good luck...
Ne codez pas en dur votre validation, utilisez simplement V4F
Consultez https://v4f.js.org a> pour plus de détails
import {Field, Schema} from "v4f"; export Schema({ username: Field() .alpha() .min(1) .required(), password: Field() .min(8) .required() });
password.length> = 8
doit être