为了账号安全,请及时绑定邮箱和手机立即绑定

下拉列表验证角度

下拉列表验证角度

墨色风雨 2023-10-24 20:41:03
如果未选择下拉值,则需要打印 *提交时需要。这是我的 html 。 <select [(ngModel)]="selectedCategory.id" formControlName="Category" (change)="onSelect($event.target.value)" [ngClass]="{ 'is-invalid': submitted && Category.errors }">            <option value="0">--Select--</option>            <option *ngFor="let category of categories" [ngValue]="category">{{category.name}}</option>          </select>          <div *ngIf="submitted && Category.errors" class="invalid-feedback">            <div *ngIf="Category.errors.required">Category is required</div>        </div><button class="btn btn-primary"   >Add to Cart</button>这是我的 ts 文件。cart_form = new FormGroup({    Category: new FormControl('', Validators.required),  });
查看完整描述

1 回答

?
千巷猫影

TA贡献1829条经验 获得超7个赞

您需要将 html 更改为:


 <form [formGroup]="cart_form" >


    <select formControlName="category" (change)="onSelect($event.target.value)">

            <option [ngValue]="null">--Select--</option>

            <option *ngFor="let item of categories">{{item.name}}</option>

          </select> 

          <div *ngIf="!cart_form.controls.category.valid" class="invalid-feedback">

            <div *ngIf="cart_form.controls.category.errors.required">Title is required</div>

        </div>


        <button type="submit" [disabled]="cart_form.invalid">Submit</button>

</form>

你的组件


categories = [ {id: 1, name : 'test1'}, {id: 2, name : 'test12'}];

      selectedCategory = null;


      cart_form = new FormGroup({

        category: new FormControl(null, Validators.required),


      });

我为你构建了一个演示 https://stackblitz.com/edit/input-ngmodel-pnm31t?file=app/app.module.ts


查看完整回答
反对 回复 2023-10-24
  • 1 回答
  • 0 关注
  • 78 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信