Angular FormGroup 实现 Validation and Save

本文介绍如何使用Angular的FormGroup进行全局验证和保存操作。通过设置FormControl的valid属性进行验证,利用dirty属性追踪用户交互变化。同时,探讨了如何标记和清除表单状态,并详细阐述了一个记录并按需展示验证结果的三步逻辑:创建Map容器存储验证结果、全局触发验证时更新Map、按需在特定页面获取验证信息。
摘要由CSDN通过智能技术生成

利用 FormGroup 的特性和方法,实现全局验证和保存功能。

<div [formGroup]="group" [ngClass]="group.get('groupName').errors?.ngClass">
	<input formControlName="groupName" placeholder="Group Name">
	<div *ngIf="group.get('groupName').errors?.message" class="error-msg">
    	{
  {group.get('groupName').errors?.message}}
	</div>
</div>
const group = new FormGroup({
   
  groupName: new FormControl('TEST'),
});
let passValidation: boolean;

const control = group.get('groupName');
if (!control.value) {
   
	passValidation = false;
	control.setErrors({
    message: 'Group Name is required.', ngClass: 'error-wrapper' });
}
if (passValidation && formGroup.dirty) {
   
	// Trigger save ...
}
  • setErrors (errors: ValidationErrors, opts: { emitEvent?: boolean; } = {}): void
    可以给任意一个 control 设置 errors,通过 control.errors 可以取到设置的值

  • setErrors (null)
    清除 errors,通过赋值 setValue ptachValue reset 也能清除

  • dirty: boolean
    A control becomes dirty when the

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值