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

      

  • 相关阅读:
    The Tamworth Two chapter 2.4
    USACO Controlling Companies chapter 2.3 已跪
    非递归快排
    链表二路归并
    Money Systems chapter 2.3 dp
    #pragma pack与sizeof union
    快慢指针
    12
    11
    10
  • 原文地址:https://www.cnblogs.com/lskzj/p/11444937.html
Copyright © 2020-2023  润新知