Ich verwende 3 Validatoren, um die TextBox zu validieren, aber alle werden ausgelöst, wenn ein ungültiger Wert in die Textbox eingegeben wird. Aber ich möchte, dass diese Validatoren in einer bestimmten Reihenfolge arbeiten, damit Benutzer diese Fehler einzeln beheben können.
%Vor%Die von Ihnen hinzugefügten Validierer fügen sich automatisch zur Page.Validators-Sammlung in der Reihenfolge ihrer Erstellung hinzu. Die Validierung wird in der Reihenfolge ausgeführt, in der sie in der Page.Validators-Auflistung vorhanden sind , was bedeutet, dass die erste validator-Definition in der aspx-Datei zuerst in Page.Validators angezeigt wird. Wenn Sie Wenn Sie die Reihenfolge ändern möchten, besteht die einzige Möglichkeit darin, alle Ihre Validatoren auf die Seite in der Reihenfolge zu bringen, in der sie ausgelöst werden sollen .
Bearbeiten: In Ihrem Fall besteht die einzige Möglichkeit darin, css zu verwenden, um die Validatoren zu überlappen .
Sie können es nur mit RegularExpressionValidator versuchen
%Vor%lassen Sie mich wissen, wenn Sie auf andere Weise wollen ..
Meine Lösung von "Validierungsauftrag setzen" lautet: Auf der Seite, wo die Validatoren haben: 1) Ich setze AutoEventWireup in Aspx-Code auf false und benutze benutzerdefinierte Validatoren 2) Ich erstelle und rufe Funktionen für Validierungen auf und setze "IsValid" für verwandte Validatoren:
%Vor%Sie können Ihre benutzerdefinierte Validierung erstellen. Es wird Zeit brauchen, aber Sie können die Reihenfolge der Validierung steuern. Sie können auch maskierte Textbox Extender verwenden.
Tags und Links asp.net validation