Você pode definir uma validação para um campo de um formulário.
Essa validação é definida como scripts em BeanShell e será executada sempre que o valor de um campo renderizado for editado.
O script de validação de um campo pode acessar os dados do próprio campo apenas. No script o valor do campo será acessado como um variável com o nome do campo ou com o nome padrão "value".
Abaixo um exemplo de um script de validação de um campo do tipo String com o nome "cpf":
Caso o script de validação dê como saída um texto qualquer, a validação desse campos será considerada com erro e o texto será usado como resposta da validação e apresentado para o usuário durante o preenchimento do campo do formulário. Caso o script dê como saída um valor booleano true, então será considerado como válido.
Alguns campos do formulário possuem propriedades específicas e elas podem ser acessadas no script. Esses campos são:
Cada um desses campos apresenta propriedades específicas, são elas:
Como definido acima, o campo do tipo "Organization" contem 3 propriedades específicas: name, type e identifier.
Abaixo um exemplo de como um script de validação pode usar uma dessas propriedades:
Os scripts de validação de campo possuem à disposição 3 serviços que permitem acesso às informações do diretório do Blazon para efetivação de algumas validações do tipo:
"Existe um usuário com o mesmo cpf definido no campo CPF?"
Esses serviços são os mesmos e estão documentados na página:
name
Contém o nome da organização selecionada no campo.
type
Contém o tipo da organização selecionada no campo.
identifier
Contém o identificador da organização selecionada no campo.
displayName
Contém o nome de apresentação do usuário do Blazon selecionado no campo.
username
Contém o nome de usuário do usuário do Blazon selecionado no campo.
identifier
Contém o identificador do usuário do Blazon selecionada no campo.
label
Contém o rótulo do item da lista selecionado no campo.
value
Contém o valor do item da lista selecionado no campo.
username
Contém o nome de usuário selecionado no campo.
value
Contém o nome de usuário selecionado no campo.
Organization
Representa uma unidade de organização no diretório do Blazon, que pode ser de um dos tipos: ORGANIZATION, DEPARTMENT ou COST_CENTER
User
Representa um usuário do diretório do Blazon.
List
Representa uma lista de valores com seus respectivos rótulos.
Username
Representa um nome de usuário no Blazon.