zoukankan      html  css  js  c++  java
  • angular的formGroup的校验触发

    angular material 中form表单提交时赋值,无法触发input输入框的样式,使用给FormGroup赋值的方式

    onSubmit() {
        Object.values(this.formGroup.controls).forEach(i=>{
          i.marksAsDirty();
        })
        this.formGroup.patchValue(this.formGroup.getRowValue())
        if(this.formGroup.invalid){
          return;
        }
      }
    // 需要在app.module.ts 中添加
    import { errorStateMatcher, showOnDirtyErrorStateMatcher } from '@angular/material' providers: [ { provide: errorStateMatcher, useClass: showOnDirtyErrorStateMatcher } ],

    -------------------------------------------------------------------------------------------------------

    对于单个的formControl的操作赋值触发校验的情况下,可以使用如下方式:

    this.formControl.setValue(''); // 只有此行可以触发FormControl的invalid是true,但是结合material 的mat-form-field无法触发<mat-error>的错误显示
    this.formControl.markAsDirty();
    this.formControl.updateValueAndValidity();
    // 这两行等价于上面formGroup的赋值校验

      

  • 相关阅读:
    SpringBoot全局日志管理(AOP)
    SpringBoot集成Shiro
    MybatisPlus使用介绍
    SpringBoot集成MybatisPlus
    SpringBoot集成多数据源
    SpringBoot事务管理
    ETL 工具和 BI 工具
    oracle中行转列操作
    Oracle基本数据类型总结
    LINUX中lrzsz软件的使用
  • 原文地址:https://www.cnblogs.com/lskzj/p/11444937.html
Copyright © 2011-2022 走看看