Angular 如何使用formBuilder实时修改字段的验证

Angular 如何使用formBuilder实时修改字段的验证,angular,Angular,我正在使用formBuilder构建表单的验证。但是我想修改其中一个(mobilefield)的规则。我有这样的想法: this.register= this.formBuilder.group({ cellphone:[ null, Validators.compose([Validators.required, Validators.maxLength(50)]) ] }) 例如,我想修改mobile字段maxlenght的验证为5 如何实时更新此规则 function upd

我正在使用
formBuilder
构建表单的验证。但是我想修改其中一个(
mobile
field)的规则。我有这样的想法:

this.register= this.formBuilder.group({
 cellphone:[
  null,
  Validators.compose([Validators.required, Validators.maxLength(50)])
 ]
})
例如,我想修改
mobile
字段
maxlenght
的验证为5

如何实时更新此规则

function updateRulerCellphone(){ 
  //modify rule
}

您可以使用
setValidators()
,将
验证器动态添加到表单控件中

this.register.controls["cellphone"].setValidators([Validators.required, Validators.maxLength(5)]);
this.register.controls["cellphone"].updateValueAndValidity();

朋友,我对你的代码有问题:请看。。您需要从“@angular/forms”将其作为
import{Validators}导入您可以使用
hasError
来实现这一点<代码>{{this.register.get(“手机”).hasrerror('maxlength')}谢谢,我知道,但是我想显示我在规则中定义的字符。