VAlidation Struts 2

4 respostas
G

Estou usando validações em xml do Struts 2, o problema é que tenho duas validações diferentes para a mesma action, como faço essa distinção.

Obs:
Utilizo somente uma action para incluir, alterar, excluir, consultar.

4 Respostas

V

não sei se é bem isso que vc quer!!! porém lá vai…

<validators>
          <field name"O CAMPO QUE VC QUER VALIDAR">

                    <field-validator type="requiredstring">
                          <message>DIGITE ALGO</message>
                    </field-validator>
                   <field-validator type='int'>
                           .
                           . 
                           .
                   </field-validator>

           <field>


</validators>
V

e outra o arquivo xml tem que ter o nome dessa forma :NomeDaAction-validation.xml

A

Uma solução é você criar as validações por ação:

ClasseAction-primeiraAcao-validation.xml
e
ClasseAction-segundaAcao-validation.xml

O arquivo "ClasseAction-primeiraAcao-validation.xml" só vai ser empregado a classe "ClasseAction" quando for executada a ação "www.exemplo.com/primeiraAcao.aciton" e o arquivo "ClasseAction-segundaAcao-validation.xml" só vai ser utilizado quando for executada a ação "www.exemplo.com/segundaAcao.aciton"

Lembrando, é claro, que as duas ações precisam estar atribuídas a mesma classe Action no seu arquivo struts.xml
<action name="primeiraAcao" class="br.com.exemplo.ClasseAction" method="primeiraAcao" >
            <result>/pagina.jsp</result>            
</action>

<action name="segundaAcao" class="br.com.exemplo.ClasseAction" method="segundaAcao" >
            <result>/pagina.jsp</result>            
</action>

Dessa forma uma mesma classe Action pode ter dois arquivos de validação distintos, as regras do arquivo de validação seguem o formato exemplificado pelo vitorfarias:

<validators>
          <field name"O CAMPO QUE VC QUER VALIDAR">

                    <field-validator type="requiredstring">
                          <message>DIGITE ALGO</message>
                    </field-validator>
                   <field-validator type='int'>
                           .
                           . 
                           .
                   </field-validator>

           <field>


</validators>
G

Saquei Adriano, ficou simples agora…
Utilizei um visitor pra aproveitar as validações que iria repitir, ficou top agora

http://www.opensymphony.com/webwork/wikidocs/visitor%20validator.html

obrigado pela ajuda…

Abraço…

Criado 15 de julho de 2009
Ultima resposta 16 de jul. de 2009
Respostas 4
Participantes 3