Ich entwickle eine benutzerdefinierte Komponente für die Verwendung mit Formularen in Angular. Ich implementiere die ControlValueAccessor
Schnittstelle und es funktioniert großartig.Hinzufügen einer vordefinierten Validierer zu einer benutzerdefinierten Komponente in Angular
Allerdings hat meine Komponente keinen Grund, ohne Validator required
(es ist ein CAPTCHA) verwendet werden, so dass alle Aufrufe der Komponente required
Validator angeben müssen.
Ist es möglich, diesen Validator irgendwie in meine Komponente einzubetten, so wird er immer auf ihn angewendet, wenn er mit ngModel
und Formularen (sowohl vorlagenbasierten als auch reaktiven) verwendet wird?
Klärung. Betrachten Sie das Beispiel:
<my-captcha [(ngModel)]="firstCaptcha" required></my-captcha>
<my-captcha [(ngModel)]="secondCaptcha" required></my-captcha>
<my-captcha [(ngModel)]="thirdCaptcha" required></my-captcha>
Alle Beschwörungen MyCaptcha
Komponente über das required
Attribut zu verwenden, um haben für erforderlich Validator Form Steuerung angewendet werden.
Ist es möglich, meinen benutzerdefinierten Controller aufzurufen, ohne das Attribut required
explizit anzugeben, aber trotzdem den Validator angewendet haben? Wie folgt aus:
<my-captcha [(ngModel)]="captchaValue"></my-captcha>
Sorry, ich bin ein wenig unkonzentriert, aber was meinst du mit * erforderlich Validator *? Du meinst das 'required' Attribut? – SrAxi
Ja, ich meine, dass der Wert der Komponente angegeben werden muss, andernfalls wird sie als ungültig betrachtet. Angular löst dies in Schablonenformularen mit dem Attribut 'Erforderlich'. –
Ich bin derzeit in einer ähnlichen Situation. Ist es eine Option, reaktive Formulare zu verwenden? Alles, was ich bisher gefunden habe, was helfen könnte, wurde mit reaktiven Formen gemacht. – Arikael