md-error
タグを使用してmdAutocompleteにエラーメッセージを表示しようとしています。私はAngular with Material 2コンポーネントを使用しています。 required
のような組み込みバリデータの場合、md-error
メッセージが表示されます。しかし、No Matching Records are found
(基本的にユーザーがドロップダウンに何かを入力したとき)のときにmd-error
という別のエラーメッセージを表示したいと思います。だから、*ngIf
と別のmd-error
を持ってみましたが、このエラーメッセージは表示されません。私はそれについてgoogledとソリューションは、カスタム検証メソッドまたはディレクティブを持っているように見えます。マテリアル2はカスタム検証メソッドを持つ方法を提供しますが、私はtemplate based form
と一緒に使用することができません。誰も私にテンプレートベースのフォームでカスタム検証を使用する例を提供できますか?md-error
を使用していますか?mdAutocompleteおよびmd-input-containerでのmd-errorでのカスタムバリデータの使用。 (材料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'メッセージを表示します。上記のコードスニペットに示すように、2番目のmd-errorに '* ngIf'をどうやって置くことができますか? – mrsan22
必要に応じて* ngIfを追加してください: '試してみるとうまくいくようでした答えは: – Alex
更新されました!私が詳細を知っているかどうかを知ることは不可能ですが、@ mrsan22、あなたが望むようにエラーに* ngIfを使用してください。 –