angular - 添加/删除响应式(Reactive)表单验证器以动态创建输入

标签 angular angular2-forms

我在 Angular 4 中创建了一个表单,它允许用户单击表单中的“添加”或“删除”按钮以向表单添加/删除字段。我使用 ngFor 从数组创建屏幕上的 html 输入(通过添加函数放大,或通过删除函数缩小)。

在 html 模板中,我可以以 formControlName="control{{index}}"的形式添加 formControlName 以确保每个新输入都有一个 formcontrol。

但是我如何为这些输入动态地添加和删除验证器

最佳答案

你能看看这个文件吗https://angular.io/api/forms/AbstractControl#updateValueAndValidity ,

对于添加/删除控件,您可以使用这些方法

addControl/removeControl

对于值和验证器,您可以像这样使用

 this.form.controls['test_control'].setValidators([Validators.required])
 this.form.controls['test_control'].updateValueAndValidity()

关于angular - 添加/删除响应式(Reactive)表单验证器以动态创建输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46079052/

相关文章:

javascript - 使用关闭按钮关闭 toastr 时阻止事件。

asynchronous - Http 在 Angular 2 自定义异步验证中不起作用

forms - Angular 2,如果至少输入一个输入,则验证表单

angular - 通知子组件哪个是事件的

angular - typescript :类型 X 缺少类型 Y 的以下属性 length、pop、push、concat 等 26 个。 [2740]

angular - 为什么在变量声明中使用按位或运算符?

javascript - 以 Angular 形式修补值

Angular2 显示所有表单组验证错误

angular - 使用响应式表单时将模板引用变量绑定(bind)到 ngModel

angular - 无法进行第三方 API 请求