Defina regras e conjuntos de regras de validação para o CA Identity Manager por meio do elemento ImsManagedObjectAttrValidation do arquivo directory.xml.
O esquema para o elemento ImsManagedObjectAttrValidation é o seguinte:
<xs:element name="ImsManagedObjectAttrValidation" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="ValidationRule" minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:choice>
<xs:element name="Java">
<xs:complexType>
<xs:attribute name="class" type="xs:string"
use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="JavaScript">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="JavaScriptFile">
<xs:complexType>
<xs:attribute name="file" type="xs:string"
use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="RegularExpression">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:attribute name="name" type="xs:string"
use="required"/>
<xs:attribute name="description" type="xs:string"
use="optional"/>
<xs:attribute name="messageid" type="xs:string"
use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="ValidationRuleSet" minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ValidationRule"
maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="name" type="xs:string"
use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string"
use="required"/>
<xs:attribute name="description" type="xs:string"
use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
Os seguintes elementos são definidos:
Consiste em uma ou mais regras de validação predefinidas ou personalizadas. Uma regra de validação é especificada no elemento ValidationRule.
As regras predefinidas e as regras personalizadas podem aparecer no mesmo conjunto de regras. Além disso, um conjunto de regras pode conter qualquer combinação de implementações Java, JavaScript e expressão regular.
As regras de validação são executadas na ordem em que elas aparecem em ValidationRuleSet. Isso permite uma validação em cascata, onde a saída de uma regra é usado como entrada da próxima.
ValidationRuleSet é associado a um atributo de objeto gerenciado no elemento ImsManagedObjectAttr do arquivo directory.xml.
Especifica uma regra de validação para uso em um ValidationRuleSet.
ValidationRule deve conter apenas um dos seguintes subelementos:
A maioria dos atributos dos elementos descritos anteriormente é autoexplicativa. No entanto, os seguintes atributos necessitam de explicação:
Com regras de validação Java, a classe Java deve ser implantada no seguinte local raiz em seu servidor de aplicativos:
iam_im.ear\custom
Os arquivos nesse local raiz devem ser totalmente qualificados, mas não precisam de nenhuma outra informação de caminho, por exemplo, com.mycompany.MyJavaImpl.
Com uma regra de validação implementada em um arquivo de origem JavaScript, o arquivo deve ser implantado no seguinte local raiz em seu servidor de aplicativos:
iam_im.ear\custom\validationscripts
Os arquivos de origem JavaScript nesse local raiz são referenciados somente pelo nome, por exemplo, MyJavaScriptImpl.js.
A id da mensagem especificada nesse atributo é mapeada para uma mensagem de erro no pacote de recursos IMSExceptions.properties.
Todos os tipos de regras de validação (Java, JavaScript e JavaScriptFile e RegularExpression) contêm um atributo messageid.
Exemplo: expressão regular embutida
O exemplo a seguir mostra a regra de validação padrão Telefone predefinida, que é incluída no formato Telefone do conjunto de regras. A regra é implementada em linha como uma expressão regular:
<ValidationRule name="Phone pattern" description="+nn nnn-nnn-nnnn" messageid="4001"> <RegularExpression> <![CDATA[ ((\+|\d)*+(\s*|\x2D))?\d\d\d-\d\d\d-\d\d\d\d]]> </RegularExpression> </ValidationRule> <ValidationRuleSet name="Phone format" description= "Verify format +nn nnn-nnn-nnnn"> <ValidationRule name="Phone pattern" /> </ValidationRuleSet>
No exemplo anterior, messageid="4001" é mapeado para a linha a seguir em IMSExceptions.properties:
4001=Attribute Validation: {0} value must match regular expression
nnn-nnn-nnnn.
Exemplo: referência ao arquivo JavaScript
O exemplo abaixo especifica a regra EndWithZ_js. Essa regra é implementada no JavaScript e o script está localizado no arquivo EndWithZ.js. O conjunto de regras que inclui a regra não é exibido no exemplo:
<ValidationRule name="EndWithZ_js" messageid="custom-5001"> <JavaScriptFile file="EndWithZ.js" /> </ValidationRule>
No exemplo anterior, é pressuposto que o arquivo JavaScript esteja no seguinte local padrão:
iam_im.ear\custom\validationscripts
|
Copyright © 2015 CA Technologies.
Todos os direitos reservados.
|
|