提交时进行 Angular Material 验证

标签 angular forms validation angular-material

我正在使用 Angular Material 输入字段,但存在一个问题,即一旦用户对其执行某些操作,字段就会变成红色。

但是,我需要这些字段在提交表单之前保持“有效”,以便用户仅在单击提交按钮后才开始看到错误。

在随意输入中我用过那个东西 <input [class.ng-invalid]="control.invalid && submitted">因此,单击“提交”后它开始变成红色。

但是,当我尝试将其应用于 matInput 时,这对我没有帮助。

<mat-form-field class="w-100">
    <input [id]="id" matInput
           [class.ng-invalid]="control.errors && submitted"
           [placeholder]="getPlaceholder()"
           [formControl]="control">
</mat-form-field>

如何实现提交后才显示错误?

最佳答案

通过创建自己的 ErrorStateMatch 来解决,如https://material.angular.io/components/input/overview#changing-when-error-messages-are-shown中所述

关于提交时进行 Angular Material 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53592042/

相关文章:

Angular 7 : Trigger valuechanges on addControl, 如果值存在

angular - 为什么每次都会重复调用 ngOnInit

angular - 引用错误 : FB is not defined in Angular 5 Karma Unit Test

javascript - 我有一个按钮可以在表格中显示表格,但它在表格外显示表格我怎么能显示[放在表格内

使用 If 语句上传的 PHP 文件验证

validation - 使用 Kendo UI 在 ASP MVC 中进行必填字段验证

javascript - 如何确保 Observable.map 仅在成功时执行?

javascript - 动态数据在添加时消失

asp.net-mvc - mvc远程验证

java - 具有可扩展单元格的动态布局