2017-09-29 14 views
0

Où puis-je obtenir l'erreur objet clés liste des built-in Validators?Angulaire Formulaire de validation des validateurs d'objet-clés d'objet

Par exemple, si un champ utilise le required validateur intégré, je peux vérifier:

form.get('myField').hasError('required')

mais pas toutes les clés d'objet d'erreur ont le même nom que le validateur.

Par exemple, si j'utilise le maxLength validateur, les commandes suivantes vont pas travail:

form.get('myField').hasError('maxLength')

Répondre

0

Il est possible de vérifier ces valeurs regardant directement le code source:

https://github.com/angular/angular/blob/master/packages/forms/src/validators.ts


Dans Dans mon cas spécifique, l'erreur de clé d'objet pour le validateur maxLength est maxlength (avec minuscule L).

I figured it out en regardant sa mise en œuvre dans le code source, actuellement:

static maxLength(maxLength: number): ValidatorFn { 
    return (control: AbstractControl): ValidationErrors | null => { 
     const length: number = control.value ? control.value.length : 0; 
     return length > maxLength ? 
      {'maxlength': {'requiredLength': maxLength, 'actualLength': length}} : 
      null; 
    }; 
    } 

donc je suis en utilisant:

form.get('myField').hasError('maxlength')