【发布时间】:2020-07-01 11:30:56
【问题描述】:
我有一个带有几个下拉列表的表单,如下所示:
<form #f="ngForm" (ngSubmit)="onSubmit(f)" novalidate>
<button type="button" class="btn btn-outline-primary w-100 dropdown-toggle" id="operatorDropdown"
ngbDropdownToggle>{{operator.name ? operator.name : 'Select your operator' | translate}}</button>
<div ngbDropdownMenu aria-labelledby="dropdownExample" class="w-100 mb-3" #dropdownmenu >
<button type="button" *ngFor="let option of operators" class="dropdown-item" (click)="operator = option"
[ngClass]="{'active':operator.name === option.name}">{{option.name}}</button>
</div>
</form>
我很难在这个下拉列表中添加一个简单的验证。如果在按下提交按钮后没有选择任何选项,我想显示一个错误。尝试了有关角度的各种验证示例,但似乎没有一个适用于这种下拉列表(没有<input> 等)
也尝试过类似的方法,但我相信它远未正常工作。
<div *ngIf="f.controls.operatorDropdown?.errors">Error message goes here. </div>
【问题讨论】:
-
基本上你只需要为
operatorDropdown控件添加Validators.Required并在菜单项点击时设置控件值。能否请您提供 stackblitz,以便我可以帮助您完成它? -
感谢您的努力,我已经自己解决了,在下面评论了解决方案:)
标签: html angular typescript validation ng-bootstrap