angular - 如果字段处于隐藏状态,如何删除必填字段 - Angular 2

标签 angular validation angular2-forms

我需要针对下面提到的问题的解决方案。请帮助解决问题。

案例 1:

密码是新用户创建时的必填字段。

Password: new FormControl('', Validators.required),

案例 2:

使用 *ngIf 更改隐藏的密码可见性

( "ng-reflect-ng-if":"false" )

案例三:

现在,如果我点击“保存”,它会显示需要密码。帮我解决这个问题字段不应该验证它是否被隐藏。

谢谢。

最佳答案

您可以使用 clearValidators()setValidators(),因此无论您为隐藏字段设置什么 bool 标志,我在这里都使用 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();

演示:https://plnkr.co/edit/Jf2iTy5y3NMDNi5IDyoI?p=preview

关于angular - 如果字段处于隐藏状态,如何删除必填字段 - Angular 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46951902/

相关文章:

angular - 我的嵌套 Angular 响应式(Reactive)表单没有从父组件获取 FormGroup

javascript - typescript : How to resolve 'rxjs/Rx has no exported member ' SubscriptionLike'

Angular 应用程序无法在 Azure 上找到 Assets 文件

node.js - 我可以为所有 angular2/4 项目使用一个 node_module 文件夹吗

必填字段的 Angular2 视觉提示

Angular2 ReactiveFormsControl : how to bind radio buttons?

unit-testing - 无法读取 Angular 2 中未定义的属性 'params'

javascript - Bootstrap 表单验证在不需要输入时以绿色突出显示标签文本?

javax bean 验证无法解析消息代码

winforms - 启用/禁用按钮,直到在列表框中选择一个项目?