Angular模板驱动表单中的自定义验证无法工作
创始人
2024-10-28 13:31:59
0
  1. 在组件中定义一个自定义验证器:
import { Directive } from '@angular/core';
import { NG_VALIDATORS, Validator, AbstractControl } from '@angular/forms';

@Directive({
  selector: '[customValidator]',
  providers: [{
      provide: NG_VALIDATORS,
      useExisting: CustomValidatorDirective,
      multi: true
  }]
})
export class CustomValidatorDirective implements Validator {

  validate(control: AbstractControl): { [key: string]: any } | null {
    // 自定义验证逻辑
    if (control.value && control.value.length < 5) {
      return { 'customValidator': 'Validation failed' };
    }
    return null;
  }
}
  1. 在组件模板中使用自定义验证器:
Custom validation error: {{ myFieldControl.errors.customValidator }}

这里我们通过在 input 标签上添加 customValidator 指令来启用自定义验证器,然后使用 ngIf 指令来判断是否有错误并显示错误消息。注意在上面的代码中,我们使用了模板引用变量 #myFieldControl 来访问当前控件的状态。

  1. 在组件中通过 @ViewChild 装饰器来获取表单控件:
import { Component, ViewChild } from '@angular/core';
import { NgForm } from '@angular/forms';

@Component({
  selector: 'my-component',
  templateUrl: './my-component.component.html'
})
export class MyComponent {
  @ViewChild('myForm')
  myForm: NgForm;

  onSubmit() {
    console.log(this.myForm.value);
  }
}

在上例中,我们使用 @ViewChild

相关内容

热门资讯

wpk透视辅助测试(wPK)w... wpk透视辅助测试(wPK)wpk数据工具(辅助挂)的确是有挂的(细节方法)1、wpk系统规律教程、...
微扑克辅助软件!扑克时间有后台... 微扑克辅助软件!扑克时间有后台控制,云扑克软件(详细透视挂教程)是一款可以让一直输的玩家,快速成为一...
wepoke智能ai!用ai外... 1、wepoke智能ai!用ai外 挂打德州有用,wEPOKE一般真的有挂,2025新版总结(有挂脚...
德州免费辅助神器app!德扑数... 一、德州免费辅助神器app简介了解软件请加微:136704302德州免费辅助神器app是一款在线扑克...
wpk ai辅助(wPk)wp... wpk ai辅助(wPk)wpk微扑克辅助存在(透视)一直真的有挂(可靠教程);1、微扑克系统规律教...
wepoke辅助插件!wpk有... wepoke辅助插件!wpk有修改器,wpk德州辅助器是真的是假(详细透视挂教程)1、让任何用户在无...
wepoke模拟器!wepok... 1、wepoke模拟器!wepoke软件透明挂可以弄,wepoke系统,安装教程(有挂详情)(UU ...
德扑之星作弊!德州ai人工智能... 德扑之星作弊!德州ai人工智能,菠萝德州本来有挂(详细助手教程)1、构建自己的微扑克辅助插件;2、选...
wpk透视辅助工具(wPk)w... wpk透视辅助工具(wPk)wpk到底有辅助(辅助挂)的确是有挂的(解密教程)1、全新机制【wpk软...
智星德州菠萝辅助器!wpeok... 大家肯定在之前智星德州菠萝辅助器或者智星德州菠萝辅助器中玩过智星德州菠萝辅助器!wpeoke软件下载...