Bom, falaremos sobre como validar campos em XPages.Ha campos, como o TextField que, em suas propriedades, ha uma aba Validation, onde podemos definir duas validacoes basicas: campo requerido e tamanho do valor inserido no campo.Mas outros campos, como ComboBox, esta aba nao esta disponivel.Alem de que essas validacoes sao basicas demais e muitas vezes precisamos de validacoes mais avancadas. Entao devemos ir na aba All Properties e procurar por "validators".Nessa propriedade, podemos clicar no + e adicionar diversos tipos de validators.Aqui serao apresentados os principais validator para um campo, sendo eles: xp:validateConstraint, xp:validateLength, xp:validateRequired (quando voce marca campo requerido naquela aba validator, esse validator e criado aqui automaticamente) e o mais importante de todos, que pode substituir todos os outros, xp:validateExpression.Primeiro falaramos de duas propriedades comum a todos esses validators: loaded e message. A propriedade loaded e simplesmente quando esse validator sera considerado. Voce pode inserir uma expressao em JavaScript ou simplesmente colocar true ou false. A propriedade message e muito importante, pois ela e a propriedade que define qual a mensagem que aparecera no "Display Error" ou "Display Errors" para o usuario ver.Agora vamos falar individualmente dos validators.xp:validateConstraintAqui voce usara Expressoes Regulares (regex). Caso voce saiba faze-las, voce pode simplesmente inserir na propriedade regex. Caso nao, pode procurar na internet regex feitas para validar o que voce quiser. Por exemplo: uma regex que valide se o email e valido. Um site que eu aconselho para procurar regex prontas e http://regexlib.com/Nele ha varias regex para validar varias coisas, porem e em ingles e tem poucas regex brasileiras (como por exemplo para validar CEP, visto que nosso CEP e diferente do Zip Code deles). Voce pode usar esse site http://www.pagecolumn.com/tool/regtest.htm para testar as regex que voce encontrar la, testando o que e validado e o que nao e.O problema desse validator e que ele e um pouco limitado. Se a validacao e muito avancada, voce dificilmente conseguira bons resultados com esse.xp:validateLengthTem a mesma funcao daquele validator da aba Validation. Simplesmente voce coloca o tamanho minimo e/ou maximo que a STRING inserida deve ter. Lembre-se, ele nao validara o tamanho de um numero.xp:validateRequiredSimplesmente torna o campo requerido. Mesma funcao do encontrado na aba Validation.xp:validateExpressionCom esse voce pode fazer qualquer tipo de validacao usando JavaScript. A propriedade clientScript e apenas usada quando voce quer fazer alguma validacao com Client-Side JavaScript. Mas no geral, usaremos expression para usar o Server-Side JavaScript.Voce deve clicar no diamante e clicar em compute value, entao abrira a seguinte janela:Nessa janela voce podera usar codigos JavaScript para validar seu campo. Para pegar o valor do campo que voce esta validando, voce deve usar:getComponent("nomeDoCampo").getSubmittedValue()Entao voce processa em cima dele. E usado o SubmittedValue porque no momento em que aquele campo esta sendo validado, o valor dele esta sendo submetido ao servidor. Mas no caso de voce pegar o valor de um outro campo que nao seja onde esta sendo feito o validator, voce deve usar apenas Value, da seguinte forma:getComponent("nomeDoOutroCampo").getValue()Lembrando que quando seu codigo retornar true, significa que foi validada a entrada, que nao houve problemas. Quando seu codigo retornar false, houve