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;
    }
  }
}

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

请填写电子邮件地址。

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

自定义验证错误。

相关内容

热门资讯

事发当天!wejoker辅助软... 事发当天!wejoker辅助软件视频(透视)皇豪互众智能辅助器(原来真的是有辅助平台)-哔哩哔哩1、...
经核实!wepoker看底牌(... 经核实!wepoker看底牌(透视)新天道怎么看底牌(果然真的是有辅助插件)-哔哩哔哩1、新天道怎么...
有玩家发现!wepokerpl... 有玩家发现!wepokerplus到底是挂了吗(透视)丽水茶苑脚本(原来真的有辅助插件)-哔哩哔哩1...
透视好牌!wepoker辅助器... 透视好牌!wepoker辅助器安装包定制(透视)潘潘讲故事辅助器(好像真的有辅助辅助器)-哔哩哔哩1...
透视挂!wepoker是不是有... 透视挂!wepoker是不是有人用挂(透视)宝宝斗场辅助器(竟然是真的辅助神器)-哔哩哔哩暗藏猫腻,...
透视规律!aa poker透视... 透视规律!aa poker透视软件(透视)手机暗宝辅助(都是有辅助平台)-哔哩哔哩1、进入游戏-大厅...
目前!哈糖大菠萝怎么开挂(透视... 目前!哈糖大菠萝怎么开挂(透视)鱼乐达人透视血量辅助器(真是是有辅助插件)-哔哩哔哩鱼乐达人透视血量...
近期!hhpoker脚本下载(... 近期!hhpoker脚本下载(透视)欢乐对决破解版(一贯存在有辅助平台)-哔哩哔哩1)欢乐对决破解版...
透视攻略!pokernow辅助... 透视攻略!pokernow辅助工具(透视)亿游十三道攻略(一贯存在有辅助工具)-哔哩哔哩1、在亿游十...
昨日!aa poker辅助包(... 昨日!aa poker辅助包(透视)衢州都莱破解器(其实真的是有辅助修改器)-哔哩哔哩1、衢州都莱破...