Angular13中的自定义验证器,强制检查至少一个复选框不起作用
创始人
2024-10-22 01:00:16
0

下面是一个简单的解决方法,该方法使用Angular 13的自定义验证器来确保至少一个复选框是选中的。

  1. 首先,我们需要定义一个自定义验证器函数。此函数将接收一个FormGroup作为参数,并返回一个对象,其中包含一个名为'atLeastOneSelected'的属性。

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

export const atLeastOneValidator: ValidatorFn = (fg: FormGroup) => { const valuesSelected = Object.keys(fg.controls) .map(key => fg.controls[key].value) .filter(value => !!value); const atLeastOne = valuesSelected.length > 0; return atLeastOne ? null : { atLeastOneSelected: true }; }

  1. 然后,我们需要在组件中使用该自定义验证器。我们可以使用'Validators.compose'函数将它与其他验证器组合起来,例如'Required'验证器。

import { Validators } from '@angular/forms'; import { atLeastOneValidator } from './at-least-one-validator';

...

checkboxGroup: FormGroup = this.fb.group({ checkboxOption1: [false], checkboxOption2: [false], checkboxOption3: [false] }, { validators: Validators.compose([ Validators.required, // This is just an example, you can remove this if not needed atLeastOneValidator ]) });

  1. 最后,我们可以在HTML模板中使用我们的自定义验证器,并将'atLeastOneSelected'属性与验证消息链接起来。

Please select at least one checkbox

这就是一个简单的解决方法,它使用自定义验证器检查至少一个复选框已被选中。

相关内容

热门资讯

透视演示!we-poker软件... 透视演示!we-poker软件(德普之星私人局)一直真的有辅助脚本(哔哩哔哩)1、完成we-poke...
透视策略!聚星ai辅助工具激活... 您好,聚星ai辅助工具激活码这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】...
透视技法!wepoker破解工... 透视技法!wepoker破解工具(WePoKer透视脚本)原来存在有辅助攻略(哔哩哔哩)1、全新机制...
透视窍门!sohoo开挂辅助(... 透视窍门!sohoo开挂辅助(透视)werplan外卦神器(辅助)原来真的有神器(哔哩哔哩)1、we...
透视秘籍!德州局透视脚本免费版... 透视秘籍!德州局透视脚本免费版下载手机版(德普之星辅助软件)总是有辅助技巧(哔哩哔哩)1、上手简单,...
透视绝活!福建大菠萝万能辅助器... 透视绝活!福建大菠萝万能辅助器(透视)菠萝德普辅助器免费版在哪里(辅助)一贯真的有软件(哔哩哔哩)1...
透视手筋!wepoker透视底... 透视手筋!wepoker透视底牌(WePoKer系统)原来是真的有辅助脚本(哔哩哔哩)1、操作简单,...
透视举措!epoker免费透视... 透视举措!epoker免费透视脚本(透视)哈糖大菠萝万能挂(辅助)真是是有神器(哔哩哔哩)1、不需要...
透视手筋!德州局透视脚本免费版... 透视手筋!德州局透视脚本免费版下载手机版(透视)约局吧德州真的有透视挂吗(辅助)一直真的有脚本(哔哩...
透视课程!wepoker私人局... 透视课程!wepoker私人局可以透视(WPK控制牌)切实是真的有辅助教程(哔哩哔哩)1、任何wep...