Validation - Struts2 - Actions

Olá Pessoal,

Eu tenho uma action que deve ser feita validação, só que só quando o formulário for postado, mas ele está fazendo a validação já quando acesso a action. Existe alguma forma ou devo criar duas actions idênticas onde uma só exibirá o formulário e outra fará a validação com um result-type input novamente para o mesmo formulário?


Francisco

O ideal é você usar “wildcard mappings” e criar o arquivo xml de validação somente para o método que deverá ser validado.

Exemplo:

<action name="Pessoa_*" class="pacote.PessoaAction" method="{1}">
    <result name="sucess">/Pessoa_{1}.jsp</result>
    <result name="input">/Pessoa_{1}.jsp</result>
</action>
public class PessoaAction extends ActionSupport {

// ...

    public String list() {
         return SUCCESS;
    }

    public String input() {
         return INPUT;
    }

// ...

}

E criar o arquivo Pessoa-Pessoa_input-validation.xml para efetuar a validação somente no método input.

Mais informações na subseção Wildcard Mappings da seção Guides da documentação no site do Struts 2.

Obrigado Alexandre.


Francisco