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