Définition de règles de validation dans les fichiers XML

Les règles de validation qui ne sont pas en relation avec les types de données ou la validation de valeur de paramètre ne peuvent pas être définies dans le fichier datatypes.xml.

Vous pouvez définir de telles règles en créant de nouveaux fichiers XML de règles. Les fichiers XML de règles peuvent être enregistrés avec l'application en ajoutant un paramètre de contexte pour chaque fichier XML de règles dans le fichier <runtime_sandbox>/repository/eardata/smcfs/extn/web.xml .

Pour définir une règle pour la validation d'entrée, créez un fichier XML dans le format suivant :

<ValidationRules>
   <Rule id="" ruleType="Regex" inputType="" inputName="" uri="" maxLength=""
          minLength="" allowNull="" >
      <Whitelist>
         <RegularExpression ref="" />
      </Whitelist>
      <Blacklist>
         <RegularExpression ref="" />
      </Blacklist>
   </Rule>
   <Rule id="" ruleType="Java" inputType="" inputName="" uri="" impl="" />
   <Rule id="abstract1" ruleType="Java" abstract="true" impl="" />
   <Rule id="" extends="abstract1" inputType="" inputName="" uri="" />
   <Rule id="abstract2" ruleType="Regex" abstract="true" maxLength=""
         minLength=""  allowNull="" >
      <Whitelist>
         <RegularExpression ref="" />
      </Whitelist>
      <Blacklist>
         <RegularExpression ref="" />
      </Blacklist>
   </Rule>
   <Rule id="" extends="abstract2" inputType="" inputName="" uri="" maxLength=""
         minLength="" allowNull="" /> 
</ValidationRules>

Le tableau suivant décrit les divers éléments et attributs des fichiers XML de règles.

Remarque: tout attribut vide sera considéré comme non fourni. Par exemple, un élément défini comme <Rule id="dates" ruleType="Regex" inputType="" inputName="" " uri="" maxLength="" minLength="" allowNull="" > est équivalent à <Rule id="dates" ruleType="Regex" inputName="">. L'attribut inputName constitue une exception à ce comportement. L'attribut inputName peut contenir une chaîne vide, qui est une valeur valide dans ce cas.

Élément/Attribut

Description

ValidationRules

Obligatoire. Le fichier XML de règles doit posséder l'élément racine ValidationRules.

Règle

Facultatif. Chaque règle (Java ou d'expression régulière) doit être définie en tant qu'élément de règle. Elle peut avoir 0 occurrences ou plus.

identificateur

Facultatif. Identificateur unique de la règle.

Remarque : Cet attribut est nécessaire si vous étendez une règle existante. S'il n'est pas fourni, la règle existante ne peut pas être étendue. Si un ID en double est trouvé et que l'action ne débouche pas sur une extension, une exception est émise.

abstrait

Facultatif. Définissez la valeur de cet attribut sur true si la règle est une règle abstraite. Une règle abstraite peut être étendue par une autre règle.

extends

Facultatif. Identificateur de la règle abstraite en cours d'extension.

ruleType

Obligatoire. Type de règle.

Valeurs valides: Java™, Regex.

Remarque: Si la règle étend une règle abstraite, cet attribut ne doit pas être présent.

inputType

Obligatoire. Type de saisie.

Valeurs valides : HTTPParameterValue, HTTPParameterName, HTTPCookieValue, HTTPCookieName, HTTPHeaderValue, HTTPHeaderName, HTTPScheme, HTTPServerName, HTTPContextPath, HTTPPath, HTTPQueryString, HTTPURI, HTTPURL, HTTPJSESSIONID, HTTPServletPath, JavascriptClient.

Remarque: Le type d'entrée JavascriptClient est utilisé pour extraire les règles de validation sur le client pour les entrées auxquelles aucun type de données n'est associé.
Note : Pour le type d'entrée JavascriptClient, seules des règles globales ou par défaut peuvent être définies. Par conséquent, les valeurs valides pour l'attribut inputName sont _global_ ou _default_. La valeur de l'attribut uri est ignorée. L'attribut impl doit contenir le nom de la méthode JavaScript. L'expression régulière définie par référence d'attribut doit posséder une expression régulière JavaScript.
Remarque: pour les règles abstraites, cet attribut ne doit pas être présent.

inputName

Obligatoire. Nom de l'entrée.

Remarque: pour les règles abstraites, cet attribut ne doit pas être présent.

uri

Facultatif. URI pour laquelle la règle doit être valide.

Remarque: pour les règles abstraites, cet attribut ne doit pas être présent.

Eléments enfant et attributs pour le type de règle Java

impl

Obligatoire. Nom complet de la classe d'implémentation de règle. Cette classe doit étendre la classe ISCValidationRule.

Remarque: Si la règle étend une règle abstraite, cet attribut ne doit pas être présent.

Éléments enfants et attributs pour le type de règle de l'expression régulière

maxLength

Facultatif. Longueur maximale autorisée.

Valeurs valides : nombre, chaîne.

Remarque: Si la règle étend une règle abstraite, cette valeur remplace la valeur maxLength définie pour une règle abstraite.

minLength

Facultatif. Longueur minimale autorisée. Valeurs valides : nombre, chaîne.

Remarque: si la règle étend une règle abstraite, cette valeur remplace la valeur minLength définie pour une règle abstraite.

allowNull

Facultatif. Définissez la valeur de cet attribut sur false si vous voulez que la valeur soit obligatoire pour l'entrée.

Valeurs valides : true, false.

Remarque: Si la règle étend une règle abstraite, cette valeur remplace la valeur allowNull définie pour une règle abstraite.

Liste blanche

Facultatif. Élément de conteneur pour les motifs de listes blanches. Il peut avoir zéro ou une occurrence.

Remarque: Si la règle étend une règle abstraite, cet attribut ne doit pas être présent.

Liste noire

Facultatif. Élément de conteneur pour les motifs de listes noires. Il peut avoir zéro ou une occurrence.

Remarque: Si la règle étend une règle abstraite, cet attribut ne doit pas être présent.

RegularExpression

Facultatif. Cet élément peut avoir zéro occurrence ou plus.

réf

Obligatoire. Référence de la définition d'expression régulière.