Notre système d'entreprise implique de nombreuses modifications et vérifications de formulaires. Le moyen le plus simple est d'utiliser le contrôle de vérification des données fourni avec asp.net, mais cela pose les trois problèmes suivants :
1. Le contrôle de vérification doit être inclus dans la conception. au formulaire et définir manuellement des attributs tels que le type de données, le message d'erreur, etc. est assez fastidieux.
2 Pour une zone de saisie, nous devrons peut-être cocher plusieurs éléments, tels que : obligatoire, doit être au format date et doit être supérieur à 2007-1-1. Cela nécessite l'ajout de plusieurs contrôles de validation.
3 Les règles métier et les formulaires sont liés entre eux, ce qui n'est pas propice à la maintenance et à la réutilisation.
Les fonctions de vérification que nous espérons sont :
1. Les règles de vérification sont séparées du formulaire. Il suffit de dessiner la zone de saisie sur le formulaire. Le contrôle de vérification sera créé dynamiquement en fonction du fichier de configuration au moment de l'exécution.
2 Selon les règles de vérification, un message d'invite par défaut est généré : ne peut pas être vide, type de numéro incorrect, doit être compris entre 1 et 100.
3 Expressions de règles de validation flexibles : telles que : range(1, 200), >=0.5, Mail(), Mobile(). Actuellement, les conditions telles que et, ou ne sont pas
prises en charge
, mais elles peuvent être facilement étendues.Pour cette raison, nous avons encapsulé cette partie de la fonction. Lors de son utilisation, il vous suffit de
définir les éléments suivants dans le fichier XML : le nom du contrôle, le type de données, s'il est requis et les informations sur l'expression de vérification.
Voici une citation :
<ValiderInfo>
<ControlName>Quantité de prises</ControlName>
<DataType>Entier</DataType>
<Exiger>vrai</Require>
<Expression>plage(1, 100)</Expression>
</ValiderInfo>
Dans l'événement Page_Init de la page, appelez la méthode de classe :
ValidateHelper.LoadFromFile("data vérification_configuration.xml") peut être utilisé.
Conception de la classe :
//Classe d'informations de configuration
classeValidateInfo
{
chaîne publique ControlName ;
public ValidationDataType Type de données ;
chaîne publique ErrorMessage ;
public bool Exiger ;
chaîne publique Expression ;
}
//Usine de création de contrôles de validation
classe publique ValidatorFactory
{
CreateRequiredFieldValidator();
CreateDateTypeCheckValidator();
CreateRangeValidator(chaîne min, chaîne max);
CreateCompareValidator (opérateur ValidationCompareOperator, chaîne valueToCompare);
...
}
// Analyseur de règles de vérification, crée des contrôles de vérification basés sur les informations de configuration
classe publique ValidatorParser
{
Parse (informations ValidateInfo, usine ValidatorFactory);
...
}
// Lire les informations de configuration et lier le contrôle de vérification au formulaire
classe publique ValidateHelper
{
LoadFromFile (page de page, chaîne fileName)
}