angular - 更新 FormControl 中的验证器

标签 angular angular2-forms

有没有办法在声明后更新控件,比如

this.input = new FormControl('', Validators.required)
this.form = this.formBuilder.group({
  input = this.input
})

this.input.update('', Validators.maxlength(20))

最佳答案

如果您想稍后设置新的验证器,您可以使用 setValidators,您可能还想更新值和有效性,它可以使用 运行更新值和有效性。这是一个简单的例子:

this.myForm.get('input').setValidators([Validators.required, 
                                          Validators.minLength(4)]);

this.myForm.get('input').updateValueAndValidity();

Demo

如果你想更新字段值,你可以使用patchValue

关于angular - 更新 FormControl 中的验证器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43577218/

相关文章:

Angular 2 - 异常 : Expression 'ngClassUntouched has changed after it was checked

asp.net - 如何使用 Angular 2/4 开发搜索建议文本框

validation - 如何一次只显示一个验证错误

angular - ControlValueAccessor 类中的 writeValue 函数在 Angular 2 自定义组件中调用一次

javascript - Ramda 合并两个对象关系设备

Angular 自定义 ngIf 指令 'as' 语法

javascript - 如何从子组件中获取父表单的字段?

javascript - Angular 2 FormBuilder禁用复选框选择中的字段

angular - 在 ngOnInit 中测试一个可观察的间隔

angular - Angular 6 中 jquery 的 $.each 的替代品