如何将验证放入垫选

时间:2018-12-19 12:42:48

标签: angular typescript validation angular-material

我有多个带有mat-select的行。我希望能够进行验证,这样我就应该能够每个选择至少1个值。如果我没有从mat-中选择每种类型的1个值,选择,那么我应该无法继续进行下一步。

# using -match
# returns $null for a string without 'v'; add `else { $Foo }` to return it as-is
$FooVersion = if ($Foo -match 'v(.*)') { $Matches[1] }

Write-Host $Foo
Write-Host $FooVersion

此html代码允许我显示mat-select并显示dropwdown值列表。

<ng-container matColumnDef="type">Type
            <mat-header-cell *matHeaderCellDef mat-sort-header>Type</mat-header-cell>
            <mat-cell *matCellDef="let element">
              <mat-select placeholder="Select Type" [(ngModel)]="type.text" (selectionChange)="changed($event)">
                <mat-option *ngFor="let type of typeColumn  let i = index" [value]="{type: type.text, index: i}" [disabled]="!type.allowed && type.allowed != undefined">
                  {{ type.text }} 
                </mat-option>
              </mat-select>
            </mat-cell>
          </ng-container>

这是我得到的下拉选项的列表。

我需要确认用户在进行下一步之前,应该为每个时间,键,段,输入和键至少选择一个值。

1 个答案:

答案 0 :(得分:2)

由于您没有发布完整的代码(例如,突如其来的闪电战。尤其是看起来像您正在使用mat-table并可能希望将更改持久保存到数据源中。

我对here进行了快速堆叠,仅显示6个mat-select元素,并检查selectionChange()上是否标记有属性required的所有类型已选择。这反映在变量isValid中,基于此,您可以让用户选择是否进行下一步。

这应该使您大致了解如何进行验证。为了获得更准确的答案,您需要发布更多的代码和数据,最好是发布有效的Stackblitz。