Unser Geschäftssystem erfordert viel Formularbearbeitung und -überprüfung. Der einfachste Weg ist die Verwendung der mit asp.net gelieferten Datenüberprüfungskontrolle, die jedoch die folgenden drei Probleme mit sich bringt:
1. Die Überprüfungskontrolle muss in das Design einbezogen werden in das Formular einzufügen und Attribute wie Datentyp, Fehlermeldung usw. manuell festzulegen, ist recht umständlich.
2 Für ein Eingabefeld müssen wir möglicherweise mehrere Elemente überprüfen, z. B.: erforderlich, muss im Datumsformat vorliegen und größer als 2007-1-1 sein. Dies erfordert das Hinzufügen mehrerer Validierungskontrollen.
3 Geschäftsregeln und Formulare sind miteinander verbunden, was der Wartung und Wiederverwendung nicht förderlich ist.
Die von uns erhofften Überprüfungsfunktionen sind:
1. Die Überprüfungsregeln werden vom Formular getrennt. Zeichnen Sie einfach das Eingabefeld auf dem Formular. Das Überprüfungssteuerelement wird zur Laufzeit dynamisch erstellt.
2 Gemäß den Verifizierungsregeln wird eine Standard-Eingabeaufforderung generiert: Darf nicht leer sein, falscher Zahlentyp, muss zwischen 1 und 100 liegen.
3 Flexible Validierungsregelausdrücke: wie zum Beispiel: range(1, 200), >=0.5, Mail(), Mobile(). Derzeit werden Bedingungen wie und, oder nicht
unterstützt
, können aber problemlos erweitert werden.Aus diesem Grund haben wir diesen Teil der Funktion gekapselt. Bei der Verwendung müssen Sie lediglich
Folgendes in der XML-Datei festlegen: Steuernamen, Datentyp, ob erforderlich und Informationen zum Überprüfungsausdruck.
Hier ein Zitat:
<ValidateInfo>
<ControlName>Anzahl der Ausgänge</ControlName>
<DataType>Integer</DataType>
<Require>true</Require>
<Expression>Bereich(1, 100)</Expression>
</ValidateInfo>
Rufen Sie im Page_Init-Ereignis der Seite die Klassenmethode auf:
ValidateHelper.LoadFromFile("dataification_configuration.xml") kann verwendet werden.
Klassendesign:
//Konfigurationsinformationsklasse
classValidateInfo
{
öffentliche Zeichenfolge ControlName;
public ValidationDataType DataType;
öffentliche Zeichenfolge ErrorMessage;
öffentlicher Bool Require;
öffentlicher String-Ausdruck;
}
//Validierungskontroll-Erstellungsfabrik
öffentliche Klasse ValidatorFactory
{
CreateRequiredFieldValidator();
CreateDateTypeCheckValidator();
CreateRangeValidator(string min, string max);
CreateCompareValidator(ValidationCompareOperator oper, string valueToCompare);
...
}
// Parser für Verifizierungsregeln, erstellt Verifizierungskontrollen basierend auf Konfigurationsinformationen
öffentliche Klasse ValidatorParser
{
Parse(ValidateInfo info, ValidatorFactory-Fabrik);
...
}
// Lesen Sie die Konfigurationsinformationen und binden Sie die Überprüfungskontrolle an das Formular
öffentliche Klasse ValidateHelper
{
LoadFromFile(Seite page, string fileName)
}