I am trying to use md-error tag to display error messages on an mdAutocomplete. I am using Angular with Material 2 components. The md-error message is displayed for built-in validators like required. However, I also want to display another error message with md-error when No Matching Records are found (basically when user types something which is not there in the dropdown). So, I tried having another md-error with an *ngIf but this error message is never shown. I googled about it and looks like the solution is to have a custom validation method or Directive. Material 2 provides a way to have custom validation method but I am not able to use it with my template based form. Could anyone provide me an example of using custom validation on a template based form using md-error?
Sample Code:
This didn't work:
<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>
I tried looking at Material 2 - Custom Error Matcher but was not sure on how to use it in my case with template based forms. Any help would be appreciated. Thanks!