J'ai un validateur personnalisé pour des listes noires des mots de contrôleurs de forme:forme angulaire messages validateur personnalisé provoquant erreur
import { AbstractControl } from '@angular/forms';
const blacklist = ['poop'];
export function Blacklist(control: AbstractControl) {
let comment = control.value.split(' ');
for (let i = 0, j = comment.length; i < j; i++) {
if (blacklist.indexOf(comment[i]) !== -1) { // -1 = is no match in array
return {
validateBlacklist: {
blacklist: false
}
}
} else {
}
}
return null;
}
Tout fonctionne très bien! Mais lorsque je tente de faire un message de validation je reçois: ERROR TypeError: Cannot read property 'validateBlacklist' of null
sur chaque touche à moins que c'est un mot dans mon tableau liste noire ...
De ceci:
<div *ngIf="commentForm.controls['newComment'].errors.validateBlacklist && commentForm.controls['newComment'].touched">Error</div>
Qu'est-ce que je fais mal ?!
est '{minlength: {requiredLength: 2, actualLength: 1}}' pour chaque keyup puis quand le mot correspond au validateur c'est {{validateBlacklist: {blacklist: false}} ' – BenRacicot
maintenant ça devrait fonctionner correctement – pa7ryk
C'est cool mais j'ai besoin de savoir comment afficher un message d'erreur pour cette erreur spécifique sur ce contrôle. Pour cela et à des fins d'apprentissage. – BenRacicot