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

      

  • 相关阅读:
    github提交用户权限被拒
    vue数据响应式的一些注意点
    总结一下做移动端项目遇到的坑
    react-router
    promise-async-await
    递归函数
    Linux基础
    所有的数据处理都是map-reduce
    Mac下配置JAVA_HOME
    MySQL高级
  • 原文地址:https://www.cnblogs.com/lskzj/p/11444937.html
Copyright © 2011-2022 走看看