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的赋值校验

      

  • 相关阅读:
    玩转JavaScript module pattern精髓
    玩转Javascript 给JS写测试
    Feature Toggle JUnit
    状态机模式实战
    Java静态类
    Guava增强for循环
    Spring Security使用心得
    听个响
    Geoserver2.16.2初步使用
    GeoWebCache1.10.5发布arcgis瓦片服务
  • 原文地址:https://www.cnblogs.com/lskzj/p/11444937.html
Copyright © 2011-2022 走看看