gpt4 book ai didi

Angular 8 如何跳过不可见文本框的验证

转载 作者:行者123 更新时间:2023-12-04 10:15:23 25 4
gpt4 key购买 nike

<form [formGroup]="userForm"  >
<div class="form-group" *ngIf="isHidden">
<label for="firstName">First Name</label>
<input class="form-control" name="firstName" id="firstName" type="text" formControlName="firstName">
</div>
<button type="submit" class="btn btn-default" [disabled]="!userForm.valid">Submit</button>
</form>
import { Component } from '@angular/core';
import { FormControl, FormGroup, FormBuilder, Validators } from '@angular/forms';

@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
isHidden:boolean=false;
title = 'Children';
userForm: FormGroup;
user: any = {
firstName: ''

};
constructor(private formBuilder: FormBuilder) {

this.userForm = this.formBuilder.group({
'firstName': [this.user.firstName, [Validators.required]]
});
}

}

我正在实现响应式(Reactive) Angular 验证如果我隐藏了文本框,那么我如何跳过验证
对于在我的表单中不可见的特定文本框

如果我的文本框可见,我的验证应该可以工作

意味着如果 isHidden=true 验证不应该工作
如果 ishidden =false 验证应该有效

最佳答案

您可以创建一个函数来添加/删除验证器:

 checkValidator() {
const firstNameControl = this.userForm.controls["firstName"];

if (this.isHidden) {
firstNameControl.clearValidators();
} else {
firstNameControl.setValidators([Validators.required]);
}
firstNameControl.updateValueAndValidity();
}

Working Demo

关于Angular 8 如何跳过不可见文本框的验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61086256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com