我正在嘗試使用md-error
標記在mdAutocomplete上顯示錯誤消息。我正在使用Angular和Material 2組件。 md-error
消息顯示爲內置驗證程序,如required
。但是,當No Matching Records are found
(基本上當用戶鍵入下拉菜單中不存在的內容時)時,我還想顯示另一個錯誤消息md-error
。所以,我試着用另一個md-error
與*ngIf
,但是這個錯誤信息從不顯示。我搜索了一下,看起來解決方案是有一個自定義驗證方法或指令。材料2提供了一種自定義驗證方法,但我無法將其與我的template based form
一起使用。任何人都可以提供一個使用md-error
的基於模板的自定義驗證的例子嗎?在md-error與mdAutocomplete和md-input-container上使用自定義驗證器。 (Material 2)
示例代碼:
這不起作用:
<md-input-container>
<input mdInput
placeholder="Currency Type"
[(ngModel)]="policyObj.cost.premium.currencyType.name"
[mdAutocomplete]="premiumCurrencyTypeAuto"
[disabled]="disable"
(keydown)="PanelOptions($event, policyObj.cost.premium.currencyType, filteredPremiumCurrencyType, premiumCurrencyTypeAuto)"
(ngModelChange)="filteredPremiumCurrencyType = filterCurrency(policyObj.cost.premium.currencyType.name)"
name="currency_type1" required>
<md-error>This field is required</md-error>
<md-error *ngIf="filteredPremiumCurrencyType?.length === 0"> No Matching
Records Found!</md-error>
</md-input-container>
<md-autocomplete #premiumCurrencyTypeAuto="mdAutocomplete" [displayWith]="displayFn">
<md-option *ngFor="let ct of filteredPremiumCurrencyType" [value]="ct">
{{ ct.name }}
</md-option>
</md-autocomplete>
我試圖尋找在Material 2 - Custom Error Matcher,但不知道如何與基礎模板在我的情況使用形式。任何幫助,將不勝感激。謝謝!
謝謝你發佈一個答案。我嘗試了你提到的方式,但是它顯示了'md-error'消息。如何在第二個md錯誤中使用'* ngIf',如上面的代碼片段所示。 – mrsan22
在需要時添加一個* ngIf:' 此字段是必填項 '似乎在我嘗試時工作,如果它有效,Will可能會更新那回答:) –
Alex
更新!不可能知道我是否知道了詳細信息,但@ mrsan22,只是使用* ngIf對錯誤,但是你希望 –