如何在不使用表单控件的情况下启用和使用 mat-error

Posted

技术标签:

【中文标题】如何在不使用表单控件的情况下启用和使用 mat-error【英文标题】:how to enable and use mat-error withough using form control 【发布时间】:2022-01-24 04:25:11 【问题描述】:

我正在使用 ngModel,我想使用 mat-error,但如果您不使用表单,它就不起作用,是否有一些破解?我们可以在 ngModel 中使用 mat-error。

#代码

<mat-form-field appearance="fill"  class="w-48per">
    <mat-label>First Name</mat-label>
    <input [(ngModel)]="territoryAssignmentFields.repmFirstName" name="repmFirstName" 
    matInput placeholder="" autocomplete="activityNumber">
    <!-- <div class="mat-form-field-subscript-wrapper custom-mat-error" >
        <div class="mat-error" >Required</div>                        
      </div>
    <div id="repmFirstNameRequiredError"></div>   -->
    <mat-error >My error message</mat-error>
</mat-form-field>

【问题讨论】:

如果你使用响应式表单,这样做会容易得多,如果你需要帮助写一个,请告诉我 【参考方案1】:

您可以在输入中创建一个template variable 并在mat-error 中使用它。

#nameCtrl="ngModel" 

您可以像这样在mat-error 中使用上述变量:-

<mat-error *ngIf="nameCtrl.hasError('required')">required</mat-error>

完整的示例代码:-

<mat-form-field appearance="fill"  class="w-48per">
    <mat-label>First Name</mat-label>
    <input [(ngModel)]="territoryAssignmentFields.repmFirstName" name="repmFirstName"  #nameCtrl="ngModel" 
    matInput placeholder="" autocomplete="activityNumber">

    <mat-error *ngIf="nameCtrl.hasError('required')">required</mat-error>
</mat-form-field>

【讨论】:

以上是关于如何在不使用表单控件的情况下启用和使用 mat-error的主要内容,如果未能解决你的问题,请参考以下文章

如何在不知道表单内控件名称的情况下获取表单中的 GET/POST 元素

如何在不实际使用 <form> 的情况下使用引导表单布局?

如何获取将在不提交的情况下提交的所有表单值[重复]

您可以在不启用自动播放的情况下隐藏 YouTube 嵌入的控件吗?

如何在不闪烁和布局重叠的情况下恢复和最大化表单?

如何在不提示保存的情况下使用 Windows“X”关闭 Excel 工作簿