1
votes

validation javascript du nom d'utilisateur et du mot de passe

Je travaille sur un devoir à faire à la maison et j'essaie de comprendre comment faire ce qui suit:

  1. uName - nécessite que quelque chose soit entré (sinon génère une erreur), nécessite un alphanumérique avec au moins une lettre et un caractère (sinon génère une erreur), sinon passe les contrôles et incrémente le compteur checkev
  2. mot de passe - nécessite que quelque chose soit entré (sinon génère une erreur), nécessite que le nombre de caractères soit supérieur ou égal à 8 caractères (si ce n'est pas une erreur), sinon passe les vérifications et incrémente le compteur checkev

À 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++;
        }


1 commentaires

password.length> = 8 doit être password.length <= 8


3 Réponses :


0
votes

1 faute de frappe et 1 problème de logique.

Essayez password.length <8


0 commentaires

0
votes
 <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...

0 commentaires

-1
votes

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()
});


0 commentaires