ANgular 4+ 表单实用动态验证处理方法

1.动态取消验证

    if (val <= 2) {

      this.formModel.get('startTime').setValidators(null);//取消此控件全部验证

      this.formModel.get('endTime').setValidators(null);

      this.formModel.get('endTime').removeValidators(Validators.required);//删除个别 此条有问题

this.formModel.updateValueAndValidity() //更新验证

    } else {

      this.formModel.get('endTime').addValidators(Validators.required);//添加个别

      this.formModel.get('startTime').setValidators(Validators.required);//验证给他还原

      this.formModel.get('endTime').setValidators(Validators.required);

this.formModel.updateValueAndValidity() //更新验证

    }

 2.动态禁用,启用

    this.formModel.controls.endTime.disable()

    this.formModel.controls.startTime.enable()

3.

  /**

   * 强制验证表单

   */

  static forceValidForm(formModel:FormGroup) {

    for (let keyname in formModel.controls) {

      formModel.get(keyname).markAsTouched();

    }

  }

  static markAsPristine(formModel:FormGroup) {

    for (let keyname in formModel.controls) {

      formModel.get(keyname).markAsUntouched();

      formModel.get(keyname).markAsPristine();

      formModel.get(keyname).updateValueAndValidity();

    }

  }

4.    this.myformModel.get('testresult').reset()    重置单个控件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值