angular动态添加表单验证
时间: 2023-08-23 18:05:50 浏览: 204
Angular实现表单验证功能
可以使用 Angular 的 Reactive Forms 来动态添加表单验证。下面是一个示例代码:
首先,在组件中定义一个 FormGroup,并添加一些表单控件:
```
import { Component, OnInit } from '@angular/core';
import { FormGroup, FormBuilder, Validators } from '@angular/forms';
@Component({
selector: 'app-my-form',
templateUrl: './my-form.component.html',
styleUrls: ['./my-form.component.css']
})
export class MyFormComponent implements OnInit {
myForm: FormGroup;
constructor(private fb: FormBuilder) { }
ngOnInit() {
this.myForm = this.fb.group({
name: ['', Validators.required],
email: ['', Validators.email]
});
}
}
```
接下来,可以通过调用 FormGroup 的 `get()` 方法来获取表单控件,并通过调用 `setValidators()` 方法来添加验证器:
```
addValidators() {
this.myForm.get('name').setValidators([Validators.required, Validators.minLength(3)]);
this.myForm.get('email').setValidators([Validators.required, Validators.email]);
}
```
最后,在模板中绑定表单控件和按钮的点击事件,并通过调用 `addValidators()` 方法来动态添加验证器:
```
<form [formGroup]="myForm">
<label>
Name:
<input type="text" formControlName="name">
</label>
<br>
<label>
Email:
<input type="email" formControlName="email">
</label>
<br>
<button type="button" (click)="addValidators()">Add Validators</button>
</form>
```
这样就可以动态添加表单验证了。
阅读全文