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}导入请原谅我的无知!你是对的,我想问你最后一个问题,我怎样才能看到视图中的错误?例如,我希望您动态地告诉我所需的maxlenght的值。例如:maxlength:{{}>您可以使用hasError
来实现这一点<代码>{{this.register.get(“手机”).hasrerror('maxlength')}代码>谢谢,我知道,但是我想显示我在规则中定义的字符。