我只想在用户离开字段(onblur)时才开始验证表单的字段。
我正在尝试以这种方式:
this.profileForm = this.fb.group({
firstName: ['initial value',
[Validators.required, Validators.minLength(2), forbiddenNameValidator(/bob/i)],
[forbiddenNameValidatorAsync()],
{ updateOn: 'blur' }
],
lastName: ['b']
});
Run Code Online (Sandbox Code Playgroud)
但是这种方式是行不通的。验证(同步和异步)在onChange期间执行。
我也想问一下如何通过对进行检查来验证名称lastName。
示例:如果名称字段与姓氏相同(仅名称字段,而不是整个表单,而不是两个字段),则希望禁用该名称字段。
这是我的 html 代码
<table>
<thead>
<tr class='tableHeader'>
<div fxLayout="row" fxLayoutAlign="start center" fxFlex="1 0 auto">
<td fxFlex="22" class="pr-4">Name</td>
<td fxFlex="15" class="pr-4">Price</td>
<td fxFlex="15" class="pr-4">Loan Term</td>
<td fxFlex="15" class="pr-4">Quantity</td>
<td fxFlex="15" class="pr-4">Deposit</td>
<td fxFlex="15" class="pr-4">Total</td>
</div>
</tr>
</thead>
<tbody>
<tr [formGroup]="loanProductForm">
<div fxLayout="row" fxLayoutAlign="start center" fxFlex="1 0 auto">
<td fxFlex="22">
<mat-form-field appearance="outline" fxFlex="100" class="pr-4">
<mat-label>Product </mat-label>
<mat-select formControlName="productId" required>
<mat-option *ngFor="let product of productList" [value]="product.productId">
{{product.name}}
</mat-option>
</mat-select>
</mat-form-field>
</td>
<td fxFlex="15">
<mat-form-field appearance="outline" fxFlex="100" class="pr-4">
<mat-label>Price </mat-label> …Run Code Online (Sandbox Code Playgroud)