【问题标题】:Angular2 - custom control validator matching wrong nested controlAngular2 - 自定义控件验证器匹配错误的嵌套控件
【发布时间】:2018-04-03 09:52:34
【问题描述】:

我在验证我的自定义模板驱动表单控件时遇到了奇怪的问题。我想要的一切都是“必需的”验证器。 ID 听起来很简单,但是我尝试了几个小时没有成功。

我的控件是另一个 3rd 方自动完成组件的“简单”包装器。我想根据需要标记整个组件。这意味着它的值必须被定义而不是 null。但是如果我将所需的指令放在控件上,即。

<my-control ... required></my-control>

所需的验证器验证嵌套自动完成控件中某处的文本输入内容。如果我绑定控件的值(ngModel),我会得到正确的值。但是验证器没有反映这个值。

我还尝试编写自己的自定义验证器。结果是一样的。如果我观察传递给验证器的 FormControl 的 value 属性,我可以看到当前写入文本输入的值嵌套在更深的地方。

【问题讨论】:

  • 能否提供完整控件的代码?
  • 没有看到真正的代码真的很难帮助
  • @DerekBrown,Igor:我知道这很难......但对我来说,在没有大量不必要的调味料 (MWE) 的情况下提取一些工作代码会很棘手。我肯定会提供一些代码,但起初我试图在没有任何代码示例的情况下发布我的问题......可能有人已经面临同样的情况并且有即时解决方案。我将编写更小的新组件来说明问题,而不是提取组件。

标签: angular typescript angular2-forms angular4-forms


【解决方案1】:

我得到了我缺少的东西——Component 装饰器的providers 部分中的ValueAccessor 配置。到目前为止,我现在知道绑定使用此配置获取第一个值访问器。我的那个丢失了,所以它更深入地挖掘并匹配绑定到自动完成输入的那个。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-17
    • 2011-05-12
    • 2016-05-10
    • 1970-01-01
    • 2017-12-24
    • 1970-01-01
    • 2017-06-22
    • 2019-04-11
    相关资源
    最近更新 更多