如果字段处于隐藏状态,如何删除必填字段 - Angular 2
How to remove required field if the field is hidden state - Angular 2
我需要以下问题的解决方案。请帮忙解决问题。
案例一:
密码是新用户创建的必填字段。
Password: new FormControl('', Validators.required),
案例二:
更改使用 *ngIf 隐藏的密码可见性
( "ng-reflect-ng-if":"false" )
案例三:
现在,如果我点击“保存”,它会显示需要密码。帮我解决这个问题字段不应该验证它是否被隐藏。
谢谢。
*ngIf="flase"
这是你如何使用 *ngIf
您正在寻找的是自定义表单验证器。自定义验证器可以根据您的用户场景处理验证。
使用自定义验证器是更简洁的方法。
你可以使用 clearValidators()
和 setValidators()
,所以不管你的隐藏字段有什么布尔标志,我在这里使用 hidden
,当那个标志是 true
, 该字段被隐藏。
切换该值时,您可以执行以下操作:
this.hidden = !this.hidden
this.hidden ? this.myForm.get('Password').clearValidators() :
this.myForm.get('Password').setValidators([Validators.required])
this.myForm.get('Password').updateValueAndValidity();
我需要以下问题的解决方案。请帮忙解决问题。
案例一:
密码是新用户创建的必填字段。
Password: new FormControl('', Validators.required),
案例二:
更改使用 *ngIf 隐藏的密码可见性
( "ng-reflect-ng-if":"false" )
案例三:
现在,如果我点击“保存”,它会显示需要密码。帮我解决这个问题字段不应该验证它是否被隐藏。
谢谢。
*ngIf="flase"
这是你如何使用 *ngIf
您正在寻找的是自定义表单验证器。自定义验证器可以根据您的用户场景处理验证。
使用自定义验证器是更简洁的方法。
你可以使用 clearValidators()
和 setValidators()
,所以不管你的隐藏字段有什么布尔标志,我在这里使用 hidden
,当那个标志是 true
, 该字段被隐藏。
切换该值时,您可以执行以下操作:
this.hidden = !this.hidden
this.hidden ? this.myForm.get('Password').clearValidators() :
this.myForm.get('Password').setValidators([Validators.required])
this.myForm.get('Password').updateValueAndValidity();