Definir expressões regulares em arquivos XML

É possível definir expressões regulares para validação de entrada em arquivos XML separados.

A referência a essas expressões regulares pode ser usada em vários tipos de dados definidos no arquivo datatypes.xml. Além disso, a referência das expressões regulares pode ser usada em diversas regras definidas nos diferentes arquivos XML de regras. Essa abordagem facilita a modificação da expressão regular em um local de modo que as mudanças ocorrem tanto no arquivo datatypes.xml quanto nos diferentes arquivos XML de regras. Cada expressão regular possui um ID exclusivo associado. Os arquivos de expressão regular podem ser registrados no aplicativo incluindo um parâmetro de contexto no arquivo <runtime_sandbox>/repository/eardata/smcfs/extn/web.xml .

Para definir a expressão regular para validação de entrada, crie um arquivo XML no formato a seguir.

<RegularExpressions>
     <RegularExpression id="" javaPattern="" jsPattern="" blacklistErrorMsg=""
       whitelistErrorMsg=""/>
     <RegularExpression id="" javaPattern="" jsPattern=""/> 
</RegularExpressions>

A tabela a seguir descreve vários elementos e atributos do arquivo XML de expressões regulares.

Nota: Qualquer atributo vazio é considerado como não fornecido. Por exemplo, um elemento que é definido como <RegularExpression id="dates" javaPattern="" jsPattern="^[a-zA-Z0-9.,!\-/+=_ :]*$"/> é equivalente a <RegularExpression id="dates" jsPattern="^[a-zA-Z0-9.,!\-/+=_ :]*$"/>.

Elemento/Atributo

Descrição

RegularExpressions

Obrigatório. O arquivo XML de expressões regulares deve ter RegularExpressions como o elemento-raiz.

RegularExpression

Opcional. Cada expressão regular deve ser definida como um elemento RegularExpression. Ele pode ter zero ou mais ocorrências.

ID

Obrigatório. O identificador exclusivo para a expressão regular. Esse id pode ser usado como referência para essa expressão regular em vários locais.

javaPattern

Opcional. Padrão de expressão regular para executar a validação no lado do servidor. Se não for especificado, a validação de entrada ocorrerá no lado do cliente baseado no valor do atributo jsPattern e a validação no lado do servidor não será executada.

jsPattern

Opcional. Padrão de Expressão Regular para executar validação no lado do cliente. Se não for especificado, a validação de entrada ocorrerá no lado do servidor com base no valor do atributo javaPattern e a validação no lado do cliente não será executada.

whitelistErrorMsg

Opcional. Chave de pacote configurável da mensagem de erro a ser exibida, se os padrões da lista de desbloqueio da expressão regular falharem.

blacklistErrorMsg

Opcional. Chave do pacote configurável para a mensagem de erro a ser exibida, se os padrões de lista de bloqueio da expressão regular falharem.


Por exemplo, se você definir uma expressão regular com uma data de id, o arquivo XML de expressões regulares será o seguinte:

<RegularExpressions>
    <RegularExpression id="dates" javaPattern="^[a-zA-Z0-9.,!\-/+=_ :]*$"
           jsPattern="^[a-zA-Z0-9.,!\-/+=_:]*$" blacklistErrorMsg=""
           whitelistErrorMsg=""/> 
</RegularExpressions>

É possível referenciar a expressão regular de data no XML de Regra e no XML de tipos de dados.

Use a Referência de Expressão Regular no XML de Regra

É possível fornecer uma referência do ID de expressão regular no elemento RegularExpression ao definir uma regra no XML de regra. Por exemplo,

<ValidationRules> 
    <Rule id="" ruleType="Regex" inputType="" inputName="" uri="" 
      maxLength="" minLength="" allowNull="" > 
     <Whitelist> 
        <RegularExpression ref="dates"/> 
     </Rule> 
</ValidationRules>

Use a Referência de Expressão Regular no XML de Tipos de Dados

Será possível fornecer uma referência do ID da expressão regular no elemento Regex quando você estiver definindo uma expressão regular no arquivo datatypes.xml. Por exemplo,

<DataTypes>
    <DataType Name="Date" PpcSize="12" Size="7" Type="DATE">
        <Validation>
             <Regex Ref="dates" />        
        </Validation>
        <UIType Size="8" UITableSize="15"/>
   </DataType> 
</DataTypes>