【发布时间】:2017-10-10 08:22:02
【问题描述】:
我正在开发一个自定义组件,用于 Angular 中的表单。我正在实现ControlValueAccessor 接口,效果很好。
但是,我的组件没有理由在没有 required 验证器的情况下使用(它是一个 CAPTCHA),因此组件的所有调用都必须指定 required 验证器。
是否有可能以某种方式将此验证器直接嵌入到我的组件中,以便在与ngModel 和表单(基于模板和反应式)一起使用时始终应用到它?
澄清。考虑这个例子:
<my-captcha [(ngModel)]="firstCaptcha" required></my-captcha>
<my-captcha [(ngModel)]="secondCaptcha" required></my-captcha>
<my-captcha [(ngModel)]="thirdCaptcha" required></my-captcha>
上面所有对MyCaptcha 组件的调用都必须使用required 属性才能将所需的验证器应用于表单控件。
是否可以在不明确指定required 属性的情况下调用我的自定义控制器,但仍然应用了验证器?像这样:
<my-captcha [(ngModel)]="captchaValue"></my-captcha>
【问题讨论】:
-
抱歉,我有点不专心,但是,必需的验证器是什么意思?你的意思是
required属性? -
是的,我的意思是必须提供组件的值,否则视为无效。 Angular 在基于模板的表单中使用
required属性解决了这个问题。 -
我目前处于类似情况。是否可以选择使用反应形式?到目前为止,我发现的所有可能有帮助的东西都是用响应式表单完成的
-
我认为解决方案应该在响应式表单和模板表单之间交叉兼容。
标签: angular validation components