如何驗證檢查是否從Angular 2模板表單中的複選框列表中選擇了至少1個複選框?模板表單中的複選框列表的驗證(不是活動表單)Angular 2
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>
組件代碼。
public isAtleastOneItemSelected() {
const selectedItems = this.items.filter((item) => item.isSelected);
if (selectedItems.length > 0) {
return true;
} else {
return false;
}
}
我已經檢查了執行此操作的無功表單方式here。所以,想要檢查我們如何在模板表單中做到這一點。 使用我上面粘貼的代碼,事情工作正常,但在頁面加載錯誤消息顯示,因爲沒有檢查髒或觸摸那裏。我被這個問題困住了。
任何幫助,將不勝感激。
謝謝。
我也是,我花了這一段時間,這似乎是不可能:(form.valid始終是真實的 – Vega