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> = 8doit être