Definindo Regras de Validação nos Arquivos XML

As regras de validação que não estão relacionadas à validação de tipos de dados ou valor de parâmetro não podem ser definidas no arquivo datatypes.xml.

É possível definir essas regras criando novos arquivos XML de regras. Os arquivos XML de regras podem ser registrados com o aplicativo, incluindo um parâmetro de contexto para cada arquivo XML de regras no arquivo <runtime_sandbox>/repository/eardata/smcfs/extn/web.xml

Para definir uma regra para validação de entrada, crie um arquivo XML no seguinte 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>

A tabela a seguir descreve vários elementos e atributos do arquivo XML de regras.

Nota: Qualquer atributo vazio será considerado como não fornecido. Por exemplo, um elemento definido como <Rule id="dates" ruleType="Regex" inputType="" inputName="" uri="" maxLength="" " minLength="" allowNull="" > é equivalente a <Rule id="dates" ruleType="Regex" inputName="">. Uma exceção a esse comportamento é o atributo inputName. O atributo inputName pode conter uma sequência vazia e é um valor válido para o atributo inputName.

Elemento/Atributo

Descrição

ValidationRules

Obrigatório. O arquivo XML de regras deve ter ValidationRules como elemento-raiz.

Regra

Opcional. Cada regra (seja uma regra java ou uma expressão regular de regra) deve ser definida como um elemento Rule. Ele pode ter zero ou mais ocorrências.

ID

Opcional. Identificador exclusivo da regra.

Nota: Este atributo é necessário se você estiver estendendo uma regra existente. Se não for fornecido, a regra existente não poderá ser estendida. Se um ID duplicado for localizado, e se não resultar em uma extensão, uma exceção será emitida.

abstrato

Opcional. Configure o valor desse atributo para true, se a regra for uma regra abstrata. Uma regra abstrata pode ser estendida por outra regra.

estende

Opcional. Identificador da regra abstrata que está sendo estendida.

ruleType

Obrigatório. Tipo de regra.

Valores Válidos: Java™, Regex.

Nota: Se a regra estiver estendendo uma regra abstrata, esse atributo não deverá estar presente..

inputType

Obrigatório. O tipo de entrada.

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

Nota: O tipo de entrada JavascriptClient é usado para buscar regras de validação no cliente para entradas, que não possuem nenhum tipo de dados associado a elas..
Observação: para o tipo de entrada JavascriptClient, somente regras globais ou padrão podem ser definidas. Portanto, os valores válidos para o atributo inputName são _global_ ou _default_. O valor do atributo uri é ignorado. O atributo impl deve conter o nome do método de javascript. A expressão regular definida pelo atributo 'ref' deve ter uma expressão regular de javascript.
Nota: Para regras abstratas, este atributo não deve estar presente.

inputName

Obrigatório. O nome da entrada.

Nota: Para regras abstratas, este atributo não deve estar presente.

uri

Opcional. URI para o qual a regra deve ser válida.

Nota: Para regras abstratas, este atributo não deve estar presente.

Elementos filho e atributos para o tipo de regra Java

impl

Obrigatório. Nome completo da classe de implementação da regra. Esta classe deve estender a classe ISCValidaitonRule.

Nota: Se a regra estiver estendendo uma regra abstrata, esse atributo não deverá estar presente..

Elementos Filhos e Atributos para tipo de regra Regex

maxLength

Opcional. O comprimento máximo permitido.

Valores Válidos: número, sequência.

Nota: Se a regra estiver estendendo uma regra abstrata, esse valor substituirá o maxLength definido para uma Regra abstrata.

minLength

Opcional. O comprimento mínimo permitido. Valores Válidos: número, sequência.

Nota: Se a regra estiver estendendo uma regra abstrata, esse valor substituirá o minLength definido para uma regra abstrata..

allowNull

Opcional. Configure o valor deste atributo como false, se desejar impor o valor para a entrada.

Valores Válidos: true, false.

Nota: Se a regra estiver estendendo uma regra abstrata, esse valor substituirá allowNull definido para uma regra abstrata.

Lista de desbloqueio

Opcional. O elemento do contêiner para os padrões de lista de desbloqueio. Ele pode ter zero ou uma ocorrência.

Nota: Se a regra estiver estendendo uma regra abstrata, esse atributo não deverá estar presente..

Lista de Bloqueio

Opcional. O elemento do contêiner para os padrões de lista de bloqueio. Ele pode ter zero ou uma ocorrência.

Nota: Se a regra estiver estendendo uma regra abstrata, esse atributo não deverá estar presente..

RegularExpression

Opcional. Esse elemento pode ter zero ou muitas ocorrências.

referência

Obrigatório. Referência da definição de expressão regular.