pode implementar suas proprias regras de validacao criando validacoes mais complexas baseadas no estado do formulario. Existem 3 formas de definir as regras de validacao de um campo:Javascript: Voce define todas as regras de validacao do formulario atraves do metodo validate e pode tambem personalizar outros comportamentos da validacao;Class CSS: Associe ao campo classes CSS correspondentes aos metodos de validacao (Ex.: required, number, date, etc);Atributos HTML: Se o validation encontrar no seu campo o atributo maxlength, por exemplo, ele ira transforma-lo automaticamente numa regra de validacao.Eu nao vou me prender aos detalhes da utilizacao do Validation. Os exemplos da pagina do plugin sao bastante instrutivos e voce nao tera dificuldade para acompanha-los. Irei abordar alguns pontos que podem ser armadilhas na sua utilizacao. Se voce esta usando o framwork struts 2, provavelmente esta colocando seus beans, que representam objetos de dominio, nas actions e utilizando a notacao OGNL para acessa-los. Nos exemplos do Validation o atributo id dos campos e sempre igual ao atributo name. No seus forms, provavelmente, isso nao e verdade. Por isso fique atento para usar o name dos campos na definicao das regras de validacao caso voce utilize a definicao em javascript. Veja o exemplo abaixo:<%@ taglib prefix="s" uri="/struts-tags" %><html> <head> <title>Exemplo validacao com Validation</title> <script type="text/javascript" src="js/jquery-1.2.1.min.js"></script> <script type="text/javascript" src="js/jquery.validate.js" ></script> <script type="text/javascript"> $().ready(function() { $("#pessoaForm").validate({ rules : { "pessoa.nome" : "required", "pessoa.paisOrigem" : "required" }, messages : { "pessoa.nome" : "O nome e obrigatorio para o cadastro.", "pessoa.nome" : "O pais de origem e obrigatorio para o cadastro." } }); }); </script> </head> <body> <s:form id="pessoaForm"> <s:textfield id="nome" name="pessoa.nome" label="Nome" required="true" /> <s:select id="pais" name="pessoa.paisOrigem" label="Pais de Origem" required="true" list="paises" /> <s:submit /> </s:form> </body></html>Voce pode tambem personalizar as mensagens de erro utilizando markup. Para isso voce devera personalizar as propriedades errorContainer,errorLabelContainere wrapper. Voce pode ainda alterar a forma como as mensagens de erro sao inseridas e a classe de erro que e adicionada aos campos com erro. Se voce utilizar o elemento padrao para representar a mensagem de erro, o label, a relacao entre a mensagem de erro e o campo sera feita atraves do atributo for. O atributo for deve conter um id valido, por isso, neste caso, ao inves do valor do atributo name do campo, voce utilizara o atributo id. Na verdade o Validation identificara a mensagem se voce utilizar o valor do atributo name, porem esse seria um uso semanticamente incorreto do tag. Veja o exemplo abaixo:<%@ taglib prefix="s" uri="/struts-tags" %><html> <head> <title>Exemplo validacao com Validation</title> <script type="text/javascript" src="js/jquery-1.2.1.min.js"></script> <script type="text/javascript" src="js/jquery.validate.js" ></script> <script type="text/javascript"> $().ready(function() { $("#pessoaForm").validate({ rules : { "pessoa.nome" : "required", "pessoa.paisOrigem" : "required" }, errorContainer : $("#errosDeValidacao"), errorLabelContainer : $("#errosDeValidacao > ul"), wrapper: "li" }); }); </script> </head> <body> <div id="errosDeValidacao"> <p>Nao foi possisvel continuar devido ao(s) seguinte(s) erro(s) de validacao </p> <ul> <li><label for="nome" class="error">O nome e obrigatorio para o cadastro.</label></li> <li><label for="pais" class="error">O pais de origem e obrigatorio para o cadastro.</label></li> </ul> </div> <s:form id="pessoaForm"> <s:textfield id="nome" name="pessoa.nome" label="Nome" required="true" /> <s:select id="pais" name="pessoa.paisOrigem" label="Pais de Origem" required="true" list="paises" /> <s:submit /> </s:form> </body></html>Exibindo a