


So bedienen Sie Angular, um benutzerdefinierte Validierungsfunktionen vorlagengesteuerter Formulare zu implementieren
Dieses Mal zeige ich Ihnen, wie Sie Angular verwenden, um die benutzerdefinierte Überprüfungsfunktion vorlagengesteuerter Formulare zu implementieren. Welche Vorsichtsmaßnahmen gibt es für den Betrieb von Angular, um die benutzerdefinierte Überprüfungsfunktion vorlagengesteuerter Formulare zu implementieren? Hier ist der eigentliche Kampf. Werfen wir einen Blick auf den Fall.
Die nativen Formularvalidierungsattribute von HTML5 (erforderlich, Längenbeschränkung, Werteintervall, reguläre Ausdrücke usw.) können normale Validierungsanforderungen erfüllen, müssen jedoch in einigen Szenarios eine benutzerdefinierte Überprüfung verwenden, z B. Passwortbestätigung bei der Registrierung, Zeit-/Wertauswahl mit Vergleichsbeziehung, Anfrage an den Server zur Wertüberprüfung usw. Hier nehmen wir die Passwortbestätigung als Beispiel.
Befehlsentwicklung
Der Verifizierungsstatus des Formulars wird über das Fehlerattribut von formControl zurückgemeldet, daher besteht die Grundidee darin, eine Validierung hinzuzufügen Validierungsregeln und fügen Sie dann die Validierungsergebnisse dem Fehlerattribut der formControl-Instanz hinzu. Dann tritt das Problem auf: Die Steuerung des vorlagengesteuerten Formulars ist in der HTML-Vorlage abgeschlossen und auf die formControl-Instanz kann nicht direkt zugegriffen werden. Zu diesem Zeitpunkt müssen Sie Anweisungen zum Verpacken der Inspektionsregeln verwenden. Angular stellt den Validator-Lieferanten NG_VALIDATORS für die Abwicklung der benutzerdefinierten Formularvalidierung bereit. Erstellen Sie zuerst die Direktive.
import { Directive} from '@angular/core'; import { NG_VALIDATORS, Validator, AbstractControl} from '@angular/forms'; @Directive({ selector: '[appConfirmpsw]', providers: [{ provide : NG_VALIDATORS, useExisting : ConfirmpswDirective, multi: true }] }) export class ConfirmpswDirective implements Validator { constructor() { } validate(control: AbstractControl): {[key: string]: any} { //检验规则 } }
1. Geben Sie den Anbieter für die Anweisung NG_VALIDATORS und die Alias-Klasse ConfirmpswDirective an, und multi ist wahr (Sie können dasselbe Token verwenden, um verschiedene Anbieter zu registrieren). Da es sich um eine im NG_VALIDATORS-Anbieter registrierte Direktive handelt, kann sie vom Angular-Verifizierungsprozess erkannt werden. Es ist zu beachten, dass sie bei useExisting registriert werden muss, damit keine neue Instanz erstellt wird.
2. Verwenden Sie die Validator-Schnittstelle, um benutzerdefinierte Anweisungen einzuschränken. Dies ist die von Angular bereitgestellte Validator-Klasse. Es gibt ein Validate-Attribut, das das formControl des Formulars übergibt und ein ValidationErrors-Objekt zurückgibt.
Nachdem die Befehlsstruktur nun fertiggestellt ist, beginnt der Verifizierungsteil. Zuerst müssen Sie das eingegebene Passwort übergeben, also @input hinzufügen und dann die Überprüfungsregeln angeben, um festzustellen, ob der Wert des gebundenen Formulars mit dem eingegebenen Wert übereinstimmt
@Input('appConfirmpsw') confirmpsw: string;
Um die Verwendung zu vermeiden Anweisungen müssen Sie auch das Attribut „confirmpsw“ (<input type="password" appConfirmpsw [confirmpsw]="'xxx'" >
) übergeben, sodass wir den Befehlsnamen „appConfirmpsw“ als Alias von „firmifypsw“ verwenden. Es ist bequemer, den Wert auf diese Weise zu übergeben, was zu „. <input type="password" [appConfirmpsw] = "'xxx'">
export function comfirmPswValidator(_confirmpsw: string): ValidatorFn { //传入已输入的密码值 , 返回一个ValidatorFn return (control: AbstractControl): {[key: string]: any} => { //传入绑定表单的formControl if ( !control.value ) { //如果绑定未输入值,则返回 required错误 return { 'required' : true }; } //如果两次输入的值不相同,则返回confirmpsw的错误 return control.value !== _confirmpsw ? {'confirmpsw' : {value: true}} : null; }; }
import { Directive, Input } from '@angular/core'; import { NG_VALIDATORS, Validator, AbstractControl, ValidatorFn} from '@angular/forms'; @Directive({ selector: '[appConfirmpsw]', providers: [{ provide : NG_VALIDATORS, useExisting : ConfirmpswDirective, multi: true }] }) export class ConfirmpswDirective implements Validator { @Input('appConfirmpsw') confirmpsw: string; constructor() { } validate(control: AbstractControl): {[key: string]: any} { console.log(this.confirmpsw); return this.confirmpsw ? comfirmPswValidator(this.confirmpsw)(control) : null; } } export function comfirmPswValidator(_confirmpsw: string): ValidatorFn { return (control: AbstractControl): {[key: string]: any} => { if ( !control.value ) { return { 'required' : true }; } return control.value !== _confirmpsw ? {'confirmpsw' : {value: true}} : null; }; }
Verwenden Sie
um die Wirkung des Befehls Bar<p class="input-group"> <label class="group-label" for="psw-new"> 新密码 :</label> <input class="group-input" [(ngModel)]="inputpsw.new" #new="ngModel" type="password" name="psw" id="psw-new" required> </p> <p class="input-group input-error" *ngIf="new.touched&&new.invalid"> <p class="group-error-content" *ngIf="new.errors?.required">确认密码为必填项!</p> </p> <p class="input-group"> <label class="group-label" for="psw-confirm">确认密码 :</label> <input class="group-input" [(ngModel)]="inputpsw.confirm" #confirm="ngModel" type="password" name="confirm" id="psw-confirm" [appConfirmpsw] = "new.value" required> </p> <p class="input-group input-error" *ngIf="confirm.touched&&confirm.invalid"> <p class="group-error-content" *ngIf="confirm.errors?.required">新密码为必填项!</p> <p class="group-error-content" *ngIf="confirm.errors?.confirmpsw">密码输入不一致!</p> </p>
. Die Passworteingabe ist inkonsistent und kann korrekt überprüft werden errors.confirmpsw
Wie man mit einem Mac-Installationssparfehler aufgrund von Bison umgeht
Wie man Taobao Mirror cnpm verwendet um Vue.js zu installieren
Das obige ist der detaillierte Inhalt vonSo bedienen Sie Angular, um benutzerdefinierte Validierungsfunktionen vorlagengesteuerter Formulare zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Wie implementiert man die doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen? Mit dem Aufkommen der sozialen Medien ist WeChat zu einem unverzichtbaren Kommunikationsmittel im täglichen Leben der Menschen geworden. Viele Menschen können jedoch auf ein Problem stoßen: Sie können sich gleichzeitig auf demselben Mobiltelefon bei mehreren WeChat-Konten anmelden. Für Huawei-Mobiltelefonbenutzer ist es nicht schwierig, eine doppelte WeChat-Anmeldung zu erreichen. In diesem Artikel wird erläutert, wie eine doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen erreicht wird. Erstens bietet das EMUI-System, das mit Huawei-Mobiltelefonen geliefert wird, eine sehr praktische Funktion – das doppelte Öffnen von Anwendungen. Durch die doppelte Öffnungsfunktion der Anwendung können Benutzer gleichzeitig

Angular.js ist eine frei zugängliche JavaScript-Plattform zum Erstellen dynamischer Anwendungen. Es ermöglicht Ihnen, verschiedene Aspekte Ihrer Anwendung schnell und klar auszudrücken, indem Sie die Syntax von HTML als Vorlagensprache erweitern. Angular.js bietet eine Reihe von Tools, die Sie beim Schreiben, Aktualisieren und Testen Ihres Codes unterstützen. Darüber hinaus bietet es viele Funktionen wie Routing und Formularverwaltung. In dieser Anleitung wird erläutert, wie Angular auf Ubuntu24 installiert wird. Zuerst müssen Sie Node.js installieren. Node.js ist eine JavaScript-Ausführungsumgebung, die auf der ChromeV8-Engine basiert und es Ihnen ermöglicht, JavaScript-Code auf der Serverseite auszuführen. In Ub sein

Die Programmiersprache PHP ist ein leistungsstarkes Werkzeug für die Webentwicklung, das eine Vielzahl unterschiedlicher Programmierlogiken und Algorithmen unterstützen kann. Unter diesen ist die Implementierung der Fibonacci-Folge ein häufiges und klassisches Programmierproblem. In diesem Artikel stellen wir vor, wie Sie die Fibonacci-Folge mit der Programmiersprache PHP implementieren, und fügen spezifische Codebeispiele bei. Die Fibonacci-Folge ist eine mathematische Folge, die wie folgt definiert ist: Das erste und das zweite Element der Folge sind 1, und ab dem dritten Element ist der Wert jedes Elements gleich der Summe der beiden vorherigen Elemente. Die ersten paar Elemente der Sequenz

So implementieren Sie die WeChat-Klonfunktion auf Huawei-Mobiltelefonen Mit der Popularität sozialer Software und der zunehmenden Bedeutung von Datenschutz und Sicherheit rückt die WeChat-Klonfunktion allmählich in den Mittelpunkt der Aufmerksamkeit der Menschen. Die WeChat-Klonfunktion kann Benutzern helfen, sich gleichzeitig bei mehreren WeChat-Konten auf demselben Mobiltelefon anzumelden, was die Verwaltung und Nutzung erleichtert. Es ist nicht schwierig, die WeChat-Klonfunktion auf Huawei-Mobiltelefonen zu implementieren. Sie müssen lediglich die folgenden Schritte ausführen. Schritt 1: Stellen Sie sicher, dass die Version Ihres Mobiltelefonsystems und die WeChat-Version den Anforderungen entsprechen. Stellen Sie zunächst sicher, dass die Version Ihres Huawei-Mobiltelefonsystems sowie die WeChat-App auf die neueste Version aktualisiert wurden.

Das Standardanzeigeverhalten für Komponenten im Angular-Framework gilt nicht für Elemente auf Blockebene. Diese Designwahl fördert die Kapselung von Komponentenstilen und ermutigt Entwickler, bewusst zu definieren, wie jede Komponente angezeigt wird. Durch explizites Festlegen der CSS-Eigenschaft display kann die Anzeige von Angular-Komponenten vollständig gesteuert werden, um das gewünschte Layout und die gewünschte Reaktionsfähigkeit zu erreichen.

Implementierungsleitfaden für PHP-Spielanforderungen Mit der Popularität und Entwicklung des Internets erfreut sich der Markt für Webspiele immer größerer Beliebtheit. Viele Entwickler hoffen, die PHP-Sprache zur Entwicklung ihrer eigenen Webspiele nutzen zu können, und die Umsetzung der Spielanforderungen ist ein wichtiger Schritt. In diesem Artikel wird erläutert, wie Sie mithilfe der PHP-Sprache allgemeine Spielanforderungen implementieren und spezifische Codebeispiele bereitstellen. 1. Spielfiguren erstellen In Webspielen sind Spielfiguren ein sehr wichtiges Element. Wir müssen die Attribute des Spielcharakters wie Name, Level, Erfahrungswert usw. definieren und Methoden für deren Bedienung bereitstellen

Im heutigen Bereich der Softwareentwicklung wird Golang (Go-Sprache) als effiziente, prägnante und hochgradig parallele Programmiersprache von Entwicklern zunehmend bevorzugt. Seine umfangreiche Standardbibliothek und die effizienten Parallelitätsfunktionen machen es zu einer hochkarätigen Wahl im Bereich der Spieleentwicklung. In diesem Artikel wird untersucht, wie man Golang für die Spieleentwicklung verwendet, und seine leistungsstarken Möglichkeiten anhand spezifischer Codebeispiele demonstriert. 1. Golangs Vorteile bei der Spieleentwicklung: Als statisch typisierte Sprache wird Golang beim Aufbau großer Spielsysteme verwendet.

Die Implementierung exakter Divisionsoperationen in Golang ist ein häufiger Bedarf, insbesondere in Szenarien mit Finanzberechnungen oder anderen Szenarien, die hochpräzise Berechnungen erfordern. Der in Golang integrierte Divisionsoperator „/“ wird für Gleitkommazahlen berechnet, und manchmal besteht das Problem eines Präzisionsverlusts. Um dieses Problem zu lösen, können wir Bibliotheken von Drittanbietern oder benutzerdefinierte Funktionen verwenden, um exakte Divisionsoperationen zu implementieren. Ein gängiger Ansatz ist die Verwendung des Rat-Typs aus dem Paket math/big, der eine Darstellung von Brüchen bereitstellt und zur Implementierung exakter Divisionsoperationen verwendet werden kann.
