Règles de validation

L'interface de valideur appelle une série de règles et compare les valeurs de données entrées avec les règles. Chaque règle est un fichier Java™ exécutable qui implémente l'interface Rule (Règle).

Le plug-in de validation prend en charge deux types de règle :

  • ROW : les règles au niveau des lignes sont exécutées en premier.
  • GRID : les règles au niveau de la grille sont exécutées après les règles au niveau des lignes.

Lorsqu'un utilisateur enregistre des données pour une grille qui utilise un plug-in de validation spécifique, toutes les règles sont appliquées. Les règles au niveau de la ligne sont appliquées en premier, suivies par les règles au niveau de la grille. Les règles sont appliquées dans l'ordre dans lequel elles sont déclarées dans le fichier de règles.

Structure du fichier de règles de validation de données

Un fichier de règles de validation est un fichier XML contenant une ou plusieurs règles. Chaque règle peut contenir les balises ci-dessous.

Tableau 1. Balises pour les fichiers de règles de validation
Balise Description
rule Commence la règle et définit son type, qui peut être ROW ou GRID.
nom Nom de la règle.
desc Description textuelle de la règle.
activer Valeur booléenne pour l'activation ou la désactivation de la règle :
  • false : la règle est désactivée.
  • true : la règle est activée.
applies-to-tvc-id Nom interne du composant de grille auquel s'applique la règle. Pour appliquer la règle à plusieurs grilles, utilisez une balise applies-to-tvc-id distincte pour chaque composant de grille. Cette balise est facultative ; si elle est omise, la règle s'applique à toutes les grilles du formulaire spécifié.
class Classe Java contenant les commandes de traitement de la règle. Pour utiliser l'exemple de règle de vérification de plage, entrez : com.unicacorp.uap.grid.validation.rule.basic.RangeCheckRule
set-property La balise set-property transmet des paramètres aux règles. Chaque règle peut contenir plusieurs balises set-property, ou aucune.

Exemples de règle de validation de données

Unica Plan est livré avec les exemples de règle suivants.

Tableau 2. Exemples de règle de validation de données
Règle Description
BeginsWithRule

Vérifie que la colonne de texte en cours de validation commence par le caractère spécifié. Vous définissez les propriétés beginCharacter et column. Par exemple :

<set-property property="beginCharacter" value="A"/> 
<set-property property="column" value="dyn_vendors.Name"/>

Cette règle vérifie la zone Name de la table de base de données dyn_vendors pour s'assurer que la valeur commence par la lettre A.

Nom de la classe : com.unicacorp.uap.grid.validation.rule.basic.BeginsWithRule

DateCheckRule

Vérifie que la colonne des dates en cours de validation est comprise dans la plage spécifiée. Définissez les propriétés suivantes : greaterThan, lessThan, column.

Par exemple :

<set-property property="greaterThan" value="12/31/1999"/> 
<set-property property="lessThan" value="Today"/> 
<set-property property="column" value=
     "dyn_vendors.invoiceDate"/>

Cette règle vérifie la zone invoiceDate de la table de base de données dyn_vendors pour s'assurer que la valeur n'est pas antérieure à l'année 2000.

(Facultatif) Vous pouvez également définir la propriété dateFormat. Si vous ajoutez cette propriété, vous devez entrer les dates au format spécifié. Vous pouvez définir les valeurs de format suivantes : jj/MM/aaaa, MM/jj/aaaa, jj/MM/aa, MM/jj/aa, aaaa-MM-jj, aaaa.MM.jj.

Nom de la classe : com.unicacorp.uap.grid.validation.rule.basic.DateCheckRule

RangeCheckRule

Vérifie que la colonne des entiers en cours de validation est comprise dans la plage spécifiée. Vous définissez les propriétés suivantes : minValue, maxValue, column

Par exemple :

<set-property property="minValue" value="1"/> 
<set-property property="maxValue" value="999999"/> 
<set-property property="column" value=
     "dyn_vendors.numEmployees"/>

Cette règle vérifie la zone numEmployees de la table de base de données dyn_vendors pour s'assurer que la valeur est comprise entre 1 et 999 999.

Nom de la classe : com.unicacorp.uap.grid.validation.rule.basic.RangeCheckRule

UniqueCheckRule

Vérifie que la colonne en cours de validation ne contient pas de valeurs en double. Vous définissez la propriété column.

Nom de la classe : com.unicacorp.uap.grid.validation.rule.basic.UniqueCheckRule

Remarque : Cette règle est toujours appliquée à la grille entière, même si vous utilisez ROW pour indiquer qu'il s'agit d'une règle au niveau des lignes.