/ / angular2 - FormGroup Walidacja nie wyzwala - formy kątowe2, kątowe2-konstruktor, formy kątowo-reaktywne, walidacja-walidacja

angular2 - FormGroup Validation not triggering - formy kątowe2, kątowe2-konstruktor, formy kątowe-reaktywne, walidacja-walidacja

Mam formularz FormGroup wewnątrz formularza. Muszę zweryfikować formanty FormGroup po kliknięciu przycisku przesyłania, ale nie jest on wyzwalany. TransactionForm jest formą i aliaForm jest formGroup. Po kliknięciu przycisku dodawania należy sprawdzić poprawność formularza FormGroup. wymagana walidacja pola nie wyzwala.

component.ts

this.transactionForm = this.fb.group({
allocationForm: this.fb.group({
fund: new FormControl(["", Validators.required]),
amount: new FormControl(["", Validators.required]),
})
});

html

<form novalidate *ngIf="transactionForm" [formGroup]="transactionForm" (ngSubmit)="submitTransaction()">
<div class="form-group">
<label for="name">name:</label>
<input type="text" class="form-control" formControlName="name">
<br/>
</div>
<fieldset formGroupName="allocationForm">
<div class="form-group row">
<label for="amount" class="col-lg-4 col-form-label">    {{labels.percent}}</label>
<div class="col-lg-8">
<input name="amount" type="number" class="form-control" placeholder="" min="1" step="1" formControlName="amount" required>
<div class="form-control-feedback" *ngIf="errors.amount">
errors.amount
</div>
</div>
</div>
<div class="form-group row">
<div class="offset-lg-4 col-lg-8">
<button type="button" class="btn btn-secondary" class="form-control" name="addButton" type="submit">Add</button>
</div>
</div>
</fieldset>
</form>

Odpowiedzi:

0 dla odpowiedzi № 1

W twoim kodzie na linii

     <input name="amount" type="number" class="form-control" placeholder="" min="1" step="1" formControlName="amount" required>

Po tym w znaczniku div używasz niewłaściwego warunku, Powinno to być * ngIf = "name.errors. <>", przykład: * ngIf = "amount.errors.min". Mam nadzieję, że to pomoże