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.