Comment puis-je valider la vérification qu'au moins une case à cocher est sélectionnée dans une liste de cases à cocher dans les formulaires Angular 2?Validation de la liste de cases à cocher sous forme de gabarit (formulaires non réactifs) Angulaire 2
Code HTML.
<div class="form-control" style="max-height: 300px; overflow: auto">
<div *ngFor="let item of items" class="checkbox">
<label for="{{item.id}}">
<input type="checkbox" value="{{item.id}}" required id="{{item.id}}" [(ngModel)]="item.isSelected" />
<span class="text-body">{{item.name}}</span>
</label>
</div>
</div>
<div *ngIf="!isAtleastOneItemSelected()" class="alert alert-error">
Select at least one item
</div>
Code de composant.
public isAtleastOneItemSelected() {
const selectedItems = this.items.filter((item) => item.isSelected);
if (selectedItems.length > 0) {
return true;
} else {
return false;
}
}
J'ai déjà vérifié la manière réactive sous forme de le faire here. Donc, voulait vérifier comment nous pouvons le faire dans les formulaires de modèle. En utilisant le code que j'ai collé ci-dessus, les choses marchent bien, mais au chargement de la page, le message d'erreur apparaît car il n'y a pas de vérification de la présence de saleté ou de contact. J'étais coincé avec ce problème.
Toute aide à ce sujet serait appréciée.
Merci.
Moi aussi, j'ai passé un peu de temps à ce sujet et il semble impossible :(form.valid est toujours vrai – Vega