Javascript Angular 2下拉列表验证不起作用
我有一个模板驱动的表单,带有选择下拉列表和提交按钮。当我单击submit按钮时,它会显示下拉必需的验证消息,但它也会提交表单。 它显示表单在提交功能中有效。 如下代码所示Javascript Angular 2下拉列表验证不起作用,javascript,angular,Javascript,Angular,我有一个模板驱动的表单,带有选择下拉列表和提交按钮。当我单击submit按钮时,它会显示下拉必需的验证消息,但它也会提交表单。 它显示表单在提交功能中有效。 如下代码所示 <form #f="ngForm" name="eventForm" id="eventForm" #eventForm="ngForm" (ngSubmit)="f.valid && saveForm(eventForm, $event)" novalidate> <div cla
<form #f="ngForm" name="eventForm" id="eventForm" #eventForm="ngForm" (ngSubmit)="f.valid && saveForm(eventForm, $event)" novalidate>
<div class="form-group" >
<div class="col-md-6 col-sm-6 col-xs-12">
<label for="select_store" class=" control-label">Select Package</label>
<select multiple tabindex="10" name="package_id" [ngModelOptions]="{standalone: true}" #package_id='ngModel' tabindex="4" required id="package_id" [(ngModel)]="event.content.package_id" >
<option *ngFor="let pk of listDetails" value="{{pk.id}}">{{pk.name}}</option>
</select>
<small style="color:red" *ngIf="(eventForm._submitted && !package_id.valid && !eventForm.package_id) || (!package_id.valid && package_id.dirty) ">Content required.</small>
</div>
</div>
那么,如何防止表单提交并以正确的方式进行下拉验证呢?[ngModelOptions]=“{standalone:true}”
将导致选择成为一个不需要的元素
属于表单
从select
中删除后,如果未选择任何选项,则f.valid
将变为false
,如果您参与提交表单,则不会提交表单
请参阅
saveForm(form:NgForm, event: Event) {
console.log(form.valid)
event.preventDefault();
}