angular - 如何在表单之外检查 Angular 输入的有效性而不检查 ng-invalid?

标签 angular angular-material angular-forms

如何在不使用表单作为父项的情况下检查字段是否有效?

HTML:

<mat-form-field>
  <input
    #min
    matInput
    [ngModel]="min | transformMin"
    type="text"
    [pattern]="some-patern"
    (ngModelChange)="onChangeTransformMin($event)"
    (focusout)="updateMinMax()"
  />
</mat-form-field>

TS

目前,我用的是

this.min.nativeElement.classList.contains('ng-invalid')

但如果可能的话我想用其他方式来做?

最佳答案

将此添加到字段min="ngModel"

<mat-form-field>
  <input
    #min="ngModel"
    matInput
    [ngModel]="min | transformMin"
    type="text"
    [pattern]="some-patern"
    (ngModelChange)="onChangeTransformMin($event)"
    (focusout)="updateMinMax()"
  />
</mat-form-field>

<div *ngIf="min.errors.pattern">
    Invalid
</div>

https://angular.io/guide/form-validation

关于angular - 如何在表单之外检查 Angular 输入的有效性而不检查 ng-invalid?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66178605/

相关文章:

angular - FormGroup 和 FormArray 有什么区别?什么时候用什么?

angular - angular_components,rpc和sqljocky之间的版本冲突

angular - 如果使用 angular 的货币过滤器,金额中没有美分,我可以删除 .00 吗?

css - 使 Angular Material 的 md 卡不重叠

angular-components - 从组件中删除 ngModel

angular - 如何以 Angular react 形式访问表单控件和表单组

javascript - CSS 中的 Angular 组件样式

javascript - 如何避免对服务器 URL 进行硬编码

Angular:如何使 Mat-Slide-Toggle 充当单选按钮?

css - 移除 Material Stepper header