0
votes

Ajouter des champs de formulaire dynamique et des validations au formariay en angulaire

J'essaie de construire une forme dynamique, où les noms de champs et leurs validations proviendront d'une API

Donc, je crée une forme simple, avec un formariène à l'intérieur, quelque chose comme ceci: P>

<form [formGroup]="myForm">
  <div formArrayName="dynamicFields">
    <div *ngFor="let control of getDynFields().controls; let i = index">
      <mat-form-field>
        <input
          [formControlName]="i"
          matInput
          type="text"
          placeholder="{{ control.value }}"
        />
      </mat-form-field>
    </div>
  </div>
</form>


2 commentaires

Si vous voulez que le validateur ASYNC vérifie le nom d'uniqness ou quelque chose que j'ai recommandé à ce lien: moyen.com/@tomaszsocki/... - exemple simple et simple. Et si vous utilisez du matériel, vérifiez la balise . Deuxièmement, vous devriez remplacer min () avec minlength ()


Bienvenue sur Stackoverflow. Sur un Sidenote: S'il vous plaît, essayez de poser une seule question. Demander deux va vous faire demi-réponse. Cela pourrait même être une raison de fermer votre question.


3 Réponses :


0
votes

Pour la longueur min, utilisez des validateurs.Minlength (22)
Veuillez vous reporter: https://angular.io/api/forms/validators#minlength Pour plus d'informations.
Min (10) utilisé pour ajouter une validation en tant que valeur minimale peut être de 10.


0 commentaires

1
votes

formontrol prend 'State' ou la valeur par défaut comme premier paramètre lors de l'initialisation. Aussi pour la longueur minimale, vous devez utiliser validators.minlength (n) . xxx

au lieu de cette xxx

Vous devriez faire ce xxx


0 commentaires

1
votes

validateurs.min () vs Valiadators.minlength () strong>

Vous utilisez validateurs.min () . Il est prévu de vérifier les valeurs d'entrée numériques, de ne pas obtenir la longueur d'une chaîne: p> xxx pré>

Utilisez validateurs.minlength () à la place: p> xxx pré>

Le premier paramètre d'un formulaire est sa valeur strong> p>

Le premier paramètre d'un formulaire est sa valeur . Vous définissez une valeur de «pays» dans votre exemple: p> xxx pré>

Si vous le définissez sur NULL, vous verrez n'importe quel espace réservé que vous avez défini. P>

let customControl = this.fb.control(null, [ Validators.required, Validators.minLength(10) ]);


0 commentaires