大佬教程收集整理的这篇文章主要介绍了将预定义的验证器添加到Angular中的自定义组件,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
但是,我的组件没有理由在没有必需的验证器(它是CAPTCHA)的情况下使用,因此组件的所有调用都必须指定所需的验证器.
是否有可能以某种方式将此验证器直接嵌入到我的组件中,因此当与ngModel和表单(基于模板的和反应的)一起使用时,它将始终应用于它?
澄清.考虑这个例子:
<my-captcha [(ngModel)]="firstCaptcha" required></my-captcha> <my-captcha [(ngModel)]="secondCaptcha" required></my-captcha> <my-captcha [(ngModel)]="thirdCaptcha" required></my-captcha>
上面对MyCaptcha组件的所有调用都必须使用required属性,以便将所需的验证器应用于表单控件.
是否可以在不明确指定所需属性的情况下调用我的自定义控制器,但是仍然应用了验证器?像这样:
<my-captcha [(ngModel)]="captchaValue"></my-captcha>
这触发了使用和抽象类并扩展它的想法.
因此,将所需的验证器嵌入到所有表单组件中的方法可能是这样的:
export abstract class FormValidationClass implements ControlValueAccessor { // Implement your validation methods for your standard form including required validator protected formModel:<any>; protected constructor() { } public requiredValidatorMethod() { // Do stuff here with formModel,for example } }
而且,在您实际创建具有表单的组件的位置:
export class UserFilter extends FormValidationClass implements OnInit { protected formModel:<any>; this.requiredValidatorMethod (this.formModel); }
因此,只要您的类声明受保护的formModel并扩展FormValidationClass,您就可以使用FormValidationClass中的方法,并避免每次为具有表单的每个组件添加特定逻辑.
这将是我将逻辑嵌入到包含表单的所有组件的方式,在这种情况下,将所需的验证器嵌入到包含需要验证的表单的所有组件中.
希望它有帮助或至少有用!让我知道事情的后续!
干杯!
以上是大佬教程为你收集整理的将预定义的验证器添加到Angular中的自定义组件全部内容,希望文章能够帮你解决将预定义的验证器添加到Angular中的自定义组件所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。