J'ai mon FormGroup avec quelques FormControles et tous sont requis mais je veux que deux de mes FormControles ne soient requis que si un booléen dans mon component.ts est vrai J'ai essayé ng-required="myboolean"
mais ça n'a pas marché. Existe-t-il un moyen de faire cela ou une solution de contournement ?
//edit
onButtonClick()
{
this.passwordFormControl = !this.passwordFormControl;
if(this.passwordFormControl)
{
this.passwortButton = "Cancle change Password";
this.benutzerAnlageForm.get('password').setValidators(Validators.required);
}
else
{
this.passwortButton = "Change password";
this.benutzerAnlageForm.get('password').clearValidators();
}
}
<form [formGroup]="MyForm" (ngSubmit)="onMyForm()">
<div *ngIf="passwordFormControl" class = "form-group">
<label for="password">Password</label>
<input formControlName="password" type="password" id="password"
<-- Some more Form Controles that are always required -->
<button type="submit" [disabled]="!MyForm.valid" class ="btn btn-primary">Save</button>
<button *ngIf="edit" type="button" class="btn btn-primary" (click)="onButtonClick()">{{passwortButton}}</button>
</form>
Le Password FormControl est le contrôle dont je ne veux pas toujours qu'il soit requis. Le problème est que si je supprime le caractère obligatoire du contrôle de formulaire de mot de passe, le formulaire lui-même et le bouton ne semblent pas reconnaître que le formulaire est à nouveau valide.