Angular中只允许填写一个字段。
创始人
2024-10-31 20:31:01
0

可以通过使用模板驱动表单或响应式表单来限制用户只能填写一个字段。

  1. 模板驱动表单

在模板驱动表单中,您可以使用ngModel指令的属性进行验证。您可以在input标签中添加“[ngModelOptions]”并使用“{standalone: true}”来禁用默认的“ngModel”指令行为。添加自定义验证器函数并在它们返回false时将错误消息呈现给用户。

例如:

Only one field is allowed

Only one field is allowed

在组件中定义验证器函数:

import { Directive } from '@angular/core';
import { NG_VALIDATORS, FormControl, Validator } from '@angular/forms';

@Directive({
  selector: '[onlyOne]',
  providers: [{provide: NG_VALIDATORS, useExisting: OnlyOneValidatorDirective, multi: true}]
})
export class OnlyOneValidatorDirective implements Validator {
  validate(control: FormControl): {[key: string]: any} | null {
    const val = control.value !== undefined ? control.value : '';
    const siblingControl = control.parent && control.parent.controls ? control.parent.controls.find((c: FormControl) => c !== control) : null;
    const siblingVal = siblingControl && siblingControl.value !== undefined ? siblingControl.value : '';

    if (val && siblingVal) {
      return {'onlyOne': true};
    }

    return null;
  }
}

请注意,我

相关内容

热门资讯

透视有挂"wepok... 透视有挂"wepoker轻量版辅助"都是是有辅助插件(哔哩哔哩)1、进入到wepoker轻量版辅助是...
透视解迷"wepok... 透视解迷"wepoker怎么买辅助"确实真的有辅助器(哔哩哔哩)一、wepoker怎么买辅助游戏安装...
透视必备"wpk软件... 透视必备"wpk软件是正规的吗"果然存在有辅助脚本(哔哩哔哩)1、下载好wpk软件是正规的吗脚本下载...
透视透视"We po... 透视透视"We poker辅助器下载"竟然真的是有辅助脚本(哔哩哔哩)1.We poker辅助器下载...
透视必备"wepok... 透视必备"wepoker透视版下载"都是有辅助器(哔哩哔哩)运wepoker透视版下载辅助工具,进入...
透视分享"聚星ai辅... 透视分享"聚星ai辅助工具下载"好像是有辅助工具(哔哩哔哩)在进入聚星ai辅助工具下载软件靠谱后,参...
透视有挂"hhpok... 透视有挂"hhpoker辅助挂是真的吗"真是真的是有辅助神器(哔哩哔哩)1、该软件可以轻松地帮助玩家...
透视解谜"智星德州插... 透视解谜"智星德州插件最新版本更新内容详解"切实真的有辅助脚本(哔哩哔哩)1、透视解谜"智星德州插件...
透视辅助"wepok... 透视辅助"wepoker底牌透视"都是是真的辅助神器(哔哩哔哩)1、用户打开应用后不用登录就可以直接...
透视辅助"wepok... 透视辅助"wepoker透视脚本苹果版"一直是有辅助方法(哔哩哔哩)1)wepoker透视脚本苹果版...