Angular无法进入自定义表单验证
创始人
2024-10-30 01:31:32
0

要使 Angular 进入自定义表单验证,需要确保以下几点:

  1. 在组件中,要将表单控件和自定义验证器绑定。

例如,我们可以在组件中定义一个自定义验证器:

import { AbstractControl, ValidatorFn } from '@angular/forms';

export function forbiddenNameValidator(forbiddenName: RegExp): ValidatorFn {
  return (control: AbstractControl): {[key: string]: any} | null => {
    const forbidden = forbiddenName.test(control.value);
    return forbidden ? {'forbiddenName': {value: control.value}} : null;
  };
}
  1. 在模板中,要使用指令将表单控件和自定义验证器绑定。

例如,我们可以在模板中使用 ngModel 指令:


Name is required.
Name must be at least 4 characters long.
Name cannot be more than 25 characters long.
Name can only contain letters and spaces.
Name cannot be Bob.
  1. 在自定义指令中,要使用 NG_VALIDATORS 标记自己是一个验证器,并在 validate() 方法中实现自定义验证逻辑。

例如,我们可以定义一个 appForbiddenNameValidator 指令:

import { Directive, Input } from '@angular/core';
import { NG_VALIDATORS, Validator, AbstractControl } from '@angular/forms';
import { forbiddenNameValidator } from './forbidden-name.validator';

@Directive({
  selector: '[appForbiddenNameValidator]',
  providers: [{ provide: NG_VALIDATORS, useExisting: ForbiddenNameValidatorDirective, multi: true }]
})
export class ForbiddenNameValidatorDirective implements Validator {
  @Input('appForbiddenNameValidator') forbiddenName: string;

  validate(control: AbstractControl): {[key: string]: any} | null {
    return this.forbiddenName ? forbiddenNameValidator(new

相关内容

热门资讯

第三分钟了解(微扑克游戏)黑科... 第三分钟了解(微扑克游戏)黑科技透明挂辅助安装(透视)攻略教程(2020已更新)(哔哩哔哩)是一款可...
2分钟了解(wpkai)软件透... 2分钟了解(wpkai)软件透明挂辅助黑科技(透视)新2025版(2021已更新)(哔哩哔哩);超受...
6分钟了解(wepoke辅助透... 6分钟了解(wepoke辅助透视)外挂辅助插件安装插件(透视)透明挂教程(2021已更新)(哔哩哔哩...
第四分钟了解(智星德州)外挂透... 第四分钟了解(智星德州)外挂透明挂辅助下载(透视)解密教程(2024已更新)(哔哩哔哩);智星德州软...
第八分钟了解(Wepoke实测... 第八分钟了解(Wepoke实测)软件透明挂辅助代打(透视)2025教程(2021已更新)(哔哩哔哩)...
第一分钟了解(德扑安卓)外挂辅... 第一分钟了解(德扑安卓)外挂辅助插件安装代打(透视)教你教程(2026已更新)(哔哩哔哩);第一分钟...
两分钟了解(WPK科技)外挂透... 两分钟了解(WPK科技)外挂透明挂辅助安装(透视)技巧教程(2022已更新)(哔哩哔哩);暗藏猫腻!...
第三分钟了解(Wepoke代打... 第三分钟了解(Wepoke代打ai)外挂智能ai辅助插件(透视)切实教程(2020已更新)(哔哩哔哩...
第3分钟了解(wepoke模拟... 第3分钟了解(wepoke模拟器)外挂辅助插件安装app(透视)玩家教程(2026已更新)(哔哩哔哩...
四分钟了解(德扑之星透明)外挂... 四分钟了解(德扑之星透明)外挂透明挂辅助神器(透视)可靠教程(2026已更新)(哔哩哔哩);德扑之星...