Angular 2 - 在控件初始化后添加验证器

2023-12-30

我想知道如何将验证器添加到已经创建的 formControl (使用它自己的验证器创建的)。但是,让我们想象一下,经过一段时间的延迟后,我想添加另一个(或者我有一个自定义控件,其中包含一些验证器本身),并且我想创建外部反应式表单并将内部验证器添加到外部。

是否可以?我没有找到任何信息(仅有关重新设置所有验证器) 谢谢你的帮助!

  this.testForm = this.fb.group({
      testField: [{value: '', disabled: false}, [<any>Validators.required]]
    })

<form [formGroup]="testForm" novalidate>
  <custom_input>
    formControlName="testField"
    [outerFormControl]="testForm.controls.testField"
    </custom_input>


</form>

之后我想在我的自定义控件中添加其他验证器。我怎样才能做到这一点?

自定义控制.ts

this.outerFormControl.push(Validators.maxLength(10));

@Component({
  selector: 'my-app',
  template: `
   <form [formGroup]="testForm" novalidate>
    <input type="text" formControlName="age">
   </form>
   <button (click)="addValidation()">Add validation</button>

   {{ testForm.valid | json }}
  `,
})
export class App {

  constructor(private fb: FormBuilder) {
     this.testForm = this.fb.group({
      age: [null, Validators.required]
    })
  }

  addValidation() {
    this.testForm.get('age').setValidators(Validators.maxLength(2));
  }
}

Plunker https://plnkr.co/edit/qKVlPjnHjR3eD8WMwt7Z?p=preview

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular 2 - 在控件初始化后添加验证器 的相关文章

随机推荐

  • Ray 集群配置 file_mounts 部分不允许启动工作节点

    我正在尝试使用配置文件中的 file mounts 块将少量文件分发到 AWS EC2 上的 Ray 集群中的每个节点 文件挂载 run files 集群启动时仅使用一个主节点 run files 目录的内容已正确复制到该主节点上 但是 所
  • 使用 #hash 从地址栏刷新页面

    情况 url http mydomain com test html somehash http mydomain com test html somehash 测试脚本 document ready function console lo
  • 如何在 Visual Studio 调试器中查看 Bitmap 对象?

    我正在构建一个 C 应用程序 它创建许多位图 System Drawing Image 在调试器中将位图视为图片将会有很大的帮助 调试器对 XML 文件具有本机支持 有办法看图片吗 默认情况下 位图没有调试器可视化工具 因此您可能想尝试一下
  • 在 Saucelabs/selenium webdriver 中禁用闪存?

    我正在尝试使用 Saucelabs 自动截取多个站点的屏幕截图 以确保更改代码不会破坏内容 我正在使用 python 的 webdriver 进行编程 需要在 chrome firefox 和 IE 上禁用 flash 我试图在网上找到答案
  • 托管 bean 和支持 bean 之间的区别

    我在几个论坛中遇到了术语 托管 bean 和 支持 bean 很多人认为两者是一样的 但是 似乎还是有一些细微的差别 任何人都可以帮助我理解这两个术语之间的确切区别吗 改变我最初的答案 两者之间没有任何有意义的区别 这tutorial ht
  • Python中有高斯消元法的标准解决方案吗?

    宇宙中是否有某个地方scipy numpy 矩阵高斯消元法的标准方法 人们通过谷歌找到了很多片段 但如果可能的话 我更愿意使用 可信 模块 我终于发现 可以使用LU分解 这里的U矩阵表示线性系统的简化形式 from numpy import
  • page-break-* 在 Chrome 和 Safari 上不起作用

    我知道关于这个主题有很多问题 但我仍然找不到可行的解决方案 所以 这是我的 html div class row div class col xs 12 div class row print break div class col xs
  • 对对象的 ArrayList 进行排序?

    我需要一些帮助如何对对象的 ArrayList 进行排序 我有超类 Account 和两个子类 SavingsAccount 和 CreditAccount 在 Account 类中 当我想知道帐号时 我可以调用此方法 Get accoun
  • 如何在 Android Eclipse 中使屏幕可滚动

    这是XML在尝试将其调整为可滚动之前我有代码
  • 如何在参数数量不断增加的幂循环中使用递归?

    这是一个典型的电源回路问题 http wiki c2 com PowerLoops 我只需要一个简单而优雅 紧凑 的解决方案 我将首先展示问题 解决方案的示例嵌套 for 循环 假设我需要将这段代码转化为递归 console log bit
  • 用于 Rails 的 SQL Server 适配器

    尝试在 Windows 上找到 Rails 的 sqlserver 适配器 我尝试从 没有运气 获取它 gem install activerecord sqlserver adapter source http gems rubyonra
  • setitem 和 getitem —— python

    我创建了一个生成向量的 python 程序 现在我想使用函数设置一个项目 setitem and getitem 例如 如果vector Vec andvector 3 26会将空向量更改为 0 0 0 26 我需要覆盖 getitem a
  • 内部受保护的属性仍然可以从不同的程序集访问

    我正在为有关可访问性的初学者会话设置一些演示代码 我发现我能够从派生类访问内部受保护的属性 我缺少什么 组装1 namespace Accessibility class Program static void Main string ar
  • 检测 Ruby 中的 stdin 内容

    我想知道是否有人试图在标准输入上提供 ruby 程序内容 我不希望 ruby 退回到允许交互式输入 我该怎么做呢 When called in bash like this I want cat rb to exit immediately
  • IE 11 中的 CSS 模糊

    我一直试图在 IE 11 中获得 css 模糊效果几个小时 但没有取得任何进展 我尝试使用以下简单的 html img src http img3 wikia nocookie net cb20120627075127 kirby e
  • 无限/无限滚动的可用性

    这种技术的优点和缺点是什么 参见软件组合 http sortfolio com 举个例子 我个人想到的有两点 不可能告诉某人感兴趣的项目位于哪里 例如 您可能不会说 第 324 行 第二列 当您返回到无限滚动的页面时 导航会中断 你还能想到
  • Java大十进制数格式异常

    为什么下面的代码会抛出 java 数字格式异常 BigDecimal d new BigDecimal 10934 375 是的BigDecimal课程不占用任何Locale在其构造函数中考虑到String 可以在该构造函数的 Javado
  • Android 上缓存 SVG 图像和内存使用情况

    我在用着安卓SVG http code google com p svg android http code google com p svg android 我在应用程序的多个活动中使用相同的 svg 文件 构建缓存来存储和检索图像是个好
  • 是否可以顺利“热部署”ASP.NET Core应用程序?

    在带有 NET Framework 的 ASP NET 下 您可以无中断地执行新代码的 热部署 这是有效的 因为 IIS 可以为同一应用程序处理多个应用程序域 当新代码到达时 它会 耗尽 旧应用程序域 从而允许它完成请求 同时新应用程序域启
  • Angular 2 - 在控件初始化后添加验证器

    我想知道如何将验证器添加到已经创建的 formControl 使用它自己的验证器创建的 但是 让我们想象一下 经过一段时间的延迟后 我想添加另一个 或者我有一个自定义控件 其中包含一些验证器本身 并且我想创建外部反应式表单并将内部验证器添加