Angular响应式表单自定义验证未在触摸时触发。
创始人
2024-10-30 08:30:14
0

这通常是因为表单控件未被标记为“已触摸”。为了解决这个问题,您可以手动标记表单控件为“已触摸”,以便触发自定义验证。 下面是一个示例,其中验证函数“myCustomValidator”将在触摸表单控件时触发:

import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';

@Component({
  selector: 'app-my-form',
  templateUrl: './my-form.component.html',
  styleUrls: ['./my-form.component.css']
})
export class MyFormComponent implements OnInit {
  myForm: FormGroup;

  constructor(private fb: FormBuilder) {}

  ngOnInit(): void {
    this.myForm = this.fb.group({
      email: ['', [Validators.required, Validators.email]]
    });
  }

  // 自定义验证函数
  myCustomValidator(controlName: string) {
    const control = this.myForm.get(controlName);
    // 检查表单控件是否被触摸
    if (control.touched && control.errors) {
      // ... 做出你的自定义验证逻辑 ...
      return { myCustomError: true };
    } else {
      return null;
    }
  }
}

在模板中,您需要手动标记表单控件为“已触摸”:

请填写电子邮件地址。

电子邮件地址格式不正确。

自定义验证错误。

相关内容

热门资讯

必备辅助推荐!wpk号一直输!... 必备辅助推荐!wpk号一直输!确实是真的有挂((2020已更新))(哔哩哔哩);亲,其实确实真的有挂...
三分钟普及!hm3德州辅助(辅... 三分钟普及!hm3德州辅助(辅助挂)透视辅助((2025已更新))(哔哩哔哩);hm3德州是一种具有...
九分钟了解!wpk微扑克辅助是... 九分钟了解!wpk微扑克辅助是真的吗!确实是真的有挂((2021已更新))(哔哩哔哩)1、不需要AI...
八分钟了解!wepoke透明挂... 八分钟了解!wepoke透明挂(透视)辅助透视((2024已更新))(哔哩哔哩);致您一封信;亲爱w...
一分钟揭秘!德州nzt软件!其... 1、一分钟揭秘!德州nzt软件!其实是真的有挂((2025已更新))(哔哩哔哩);详细教程。2、德州...
三分钟攻略!扑克时间后台数据被... 三分钟攻略!扑克时间后台数据被攻破(透视)透视辅助((2021已更新))(哔哩哔哩)1、很好的工具软...
今日科普!云扑克辅助软件!确实... 今日科普!云扑克辅助软件!确实是真的有挂((2024已更新))(哔哩哔哩)云扑克平台为新手玩家设计了...
一分钟攻略!aa扑克平台(辅助... 1、一分钟攻略!aa扑克平台(辅助挂)透视辅助((2020已更新))(哔哩哔哩);详细教程。2、aa...
透明攻略!好运大菠萝有挂吗!其... 透明攻略!好运大菠萝有挂吗!其实是真的有挂((2024已更新))(哔哩哔哩);支持多人共享记分板与复...
十分钟实锤!impoker德州... 十分钟实锤!impoker德州外挂(辅助挂)透视辅助((2022已更新))(哔哩哔哩)1、构建自己的...