Je souhaite valider un mot de passe saisi par l'utilisateur pour les critères suivants: p>
Le mot de passe doit comporter au moins 8 caractères de min et 20 comme Max et doit contenir un numéro, un caractère capitalisé et un caractère spécial dans ce seul, Pour cela, j'ai utilisé après l'expression régulière: P>
./ <> ":" [] {} \ |! @ # $% ^ & * (- = _ + (. code> p>
Mot de passe: code> ['', [validators.pattern ('(? =. [em> [AZ]) (? =. EM]) (? em> [0-9]) (? =. em> [$ @ $!% #? ^ & + =, .-]) [A-za-z \ d $ @ $!% < / em> #? ^ & + =, .-]. {8,} ')]]] `` p>
3 Réponses :
Il s'appelle la validation du modèle. Vous pouvez vérifier ce lien https://angular.io/api/forms/patternvalidator pour voir Exemple angulaire. Lorsque vous mettez un attribut "motif" (prend regeures) à l'élément, il fonctionnera comme validateur.
<input name="firstName" ngModel pattern="[a-zA-Z ]*">
Vous pouvez utiliser le motif de type:
<input name="password" ngModel pattern="/^(?=.*[0-9])(?=.*[a-z][A-Z])(?=.*[//,.?;<>:!@#$%^&*(-=_+)|{}\[\]])([a-zA-Z0-9//,.?;<>\':\"!@#$%^&*(-=_+)|{}\[\]]{8,20})$/">
Mais, il n'accepte pas ces caractères spéciaux <> | [] {}., Donc, il ne fonctionne pas correctement.
@Krishjackman j'ai mis à jour ma réponse. Donc, vous pouvez le vérifier.
Vous pouvez ajouter votre modèle en suivant les deux étapes suivantes:
dans le fichier html p>
<div *ngIf="f.Password.errors.required"> This field is mandatory</div> <div *ngIf="f.Password.errors.minlength"> Must be at least 8 digits</div> <div *ngIf="f.Password.errors.maxlength"> Must be Max 20 digits</div> <div *ngIf="f.Password.errors.pattern"> Must contain at least 1 Special Character!</div>
dans le fichier TS p>
Mot de passe: [NULL, [ Validateurs.requiked, Validateurs.minlength (8), Validateurs.maxlength (20), Validateurs.pattern (/ [! @ # $% ^ & * () _ + - = [] {}; ': "\ | ,. /?] [A-ZA-Z0-9] /) ]] p> li> ul>
Démo d'exécution strong> - https://stackblitz.com / Edit / Angular-shhd1i P> P>
Quelle est ta question. Stackoverflow.com/help/how-to-ask