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