Definición de reglas de validación en archivos XML

Las reglas de validación que no están relacionadas con los tipos de datos o la validación de valores de parámetro no se pueden definir en el archivo datatypes.xml .

Puede definir tales reglas creando un nuevo archivo de reglas de XML. Los archivos XML de reglas se pueden registrar con la aplicación añadiendo un parámetro de contexto para cada archivo XML de reglas en el archivo <runtime_sandbox>/repository/eardata/smcfs/extn/web.xml .

Para definir una regla para la validación de entrada, cree un archivo XML en el siguiente formato:

<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>

En la tabla siguiente se describen distintos elementos y atributos del archivo XML de reglas.

Nota: Cualquier atributo vacío se considerará como no proporcionado. Por ejemplo, un elemento definido como <Rule id="dates" ruleType="Regex" inputType="" inputName="" uri="" maxLength="" minLength="" allowNull="" > es equivalente a <Rule id="dates" ruleType="Regex" inputName="">. Una excepción a este comportamiento es el atributo inputName. El atributo inputName puede contener una serie vacía y es un valor válido para el atributo inputName.

Elemento/Atributo

Descripción

ValidationRules

Necesario. El archivo XML de reglas debe tener ValidationRules como elemento +aíz.

Regla

Opcional. Cada regla (regla de Java o regla de expresión regular) debe definirse como un elemento de regla. Puede tener cero o más apariciones.

ID

Opcional. Identificador exclusivo para la regla.

Nota: este atributo es obligatorio, si está ampliando una regla existente. Si no se proporciona, la regla existente no puede ampliarse. Si se ha encontrado un ID duplicado y no da como resultado la ampliación, se genera una excepción.

abstracta

Opcional. Establezca el valor de este atributo en true, si la regla es abstracta. Una regla abstracta puede ampliarse con otra regla.

Amplía

Opcional. El identificador de la regla abstracta que se está ampliando.

ruleType

Necesario. Tipo de regla.

Valores válidos: Java™, Regex.

Nota: Si la regla está ampliando una regla abstracta, este atributo no debe estar presente.

inputType

Necesario. Tipo de la entrada.

Valores válidos: HTTPParameterValue, HTTPParameterName, HTTPCookieValue, HTTPCookieName, HTTPHeaderValue, HTTPHeaderName, HTTPScheme, HTTPServerName, HTTPContextPath, HTTPPath, HTTPQueryString, HTTPURI, HTTPURL, HTTPJSESSIONID, HTTPServletPath, JavascriptClient.

Nota: El tipo de entrada JavascriptClient se utiliza para captar reglas de validación en el cliente para las entradas, que no tienen ningún tipo de datos asociado.
Nota: Para el tipo de entrada JavascriptClient, sólo se pueden definir reglas globales o por defecto. Por lo tanto, los valores válidos para el atributo inputName son _global_ o _default_. El valor del uri de atributo se ignora. El atributo impl debe contener el nombre del método javascript. La expresión regular definida por el atributo ref debe tener una expresión regular javascript.
Nota: Para reglas abstractas, este atributo no debe estar presente.

inputName

Necesario. Nombre de la entrada.

Nota: Para reglas abstractas, este atributo no debe estar presente.

uri

Opcional. El URI para el que la regla debe ser válida.

Nota: Para reglas abstractas, este atributo no debe estar presente.

Elementos hijo y atributos para el tipo de regla Java

impl

Necesario. Nombre completo de la clase de implementación de la regla. Esta clase debe ampliar la clase ISCValidaitonRule.

Nota: Si la regla está ampliando una regla abstracta, este atributo no debe estar presente.

Elementos hijo y atributos para el tipo de regla Regex

maxLength

Opcional. Longitud máxima permitida.

Valores válidos: number, string.

Nota: Si la regla está ampliando una regla abstracta, este valor alterará temporalmente el valor maxLength definido para una regla abstracta.

minLength

Opcional. Longitud mínima permitida. Valores válidos: number, string.

Nota: Si la regla está ampliando una regla abstracta, este valor alterará temporalmente la minLength definida para una regla abstracta.

allowNull

Opcional. Establezca el valor de este atributo en false, si desea ordenar la regla para la entrada.

Valores válidos: true, false.

Nota: Si la regla está ampliando una regla abstracta, este valor alterará temporalmente el valor allowNull definido para una regla abstracta.

Lista blanca

Opcional. Elemento de contenedor para patrones de lista blanca. Puede tener una aparición igual a cero o uno.

Nota: Si la regla está ampliando una regla abstracta, este atributo no debe estar presente.

Lista negra

Opcional. Elemento de contenedor para patrones de lista negra. Puede tener una aparición igual a cero o uno.

Nota: Si la regla está ampliando una regla abstracta, este atributo no debe estar presente.

RegularExpression

Opcional. Este elemento puede tener cero o muchas apariciones.

referencia

Necesario. Referencia de la definición de expresión regular.