我希望當 last_name.errors.minlength 為真時“名稱太短”不可見。但我收到一個錯誤:屬性“minlength”來自索引簽名,因此必須使用 ['minlength'] 訪問它。
<div>
<label for="lastname">Last Name</label>
<input required #last_name="ngModel" minlength="4" maxlength="10" type="text" name="lastName" ngModel>
<div [ngClass]="{visible: last_name.touched && last_name.invalid}" class="message">
<div *ngIf="last_name.errors.minlength">name is too short</div>
<div></div>
<div></div>
<div></div>
</div>
</div>
uj5u.com熱心網友回復:
我通常做驗證的“反應”的方式,用自己的表單驗證器是ReactiveFormModule給你,所以我不是用來驗證只是一個簡單的現場為“#local自參考” ......
但是,嘗試像這樣更改您的 *ngIf 代碼:
*ngIf="last_name?.errors?.['minlength']"
uj5u.com熱心網友回復:
在您的專案配置中,您noPropertyAccessFromIndexSignature啟用了規則。它確保,如果某個欄位未在介面中明確定義,則您無法通過點語法訪問它。
所以,在這里你需要做的是改用索引語法:
*ngIf="last_name.errors['minlength']"
或者作為另一種看起來更干凈的選擇,您也可以使用該hasError方法。代碼如下所示:
*ngIf="last_name.hasError('minlength')"
uj5u.com熱心網友回復:
正確的語法:
“last_name.errors['minlength']”
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/359048.html
