Struts2: Não validar na primeira vez

4 respostas
marcioa1

Olá,

Tenho um form de login com campos obrigatórios e, assim que eu redireciono para esta página, ele avisa que estão faltando campos, antes mesmo do usuário ter a chance de preenchê-los. Como somente validar os campos após a primeira exibição da página ?

Obrigado,

Marcio

4 Respostas

alessandrasch

Olá!!!

Quando você chama uma action sem definir um método, o Struts envia essa requisição ao método execute(), então, sobrescreva esse método colocando sobre ele a annotation @SkipValidation.
Em outros métodos que também não precisem de validação, faça o mesmo.

Exemplo:

@SkipValidation public String execute() throws Exception { return super.execute(); }

Flw!!!

marcioa1

Alessandra,

Não conhecia esta annotation( conheço pouco sobre S2 ), mas ela não me resolve, pois só não preciso da validação na primeira vez que entro na página. Depois a validação é necessária

Obrigado,

Marcio

alessandrasch

Oi!

No meu caso, eu não coloco o código para gravação dos dados no método execute, e sim em um método chamado gravar(). Então, como eu preciso fazer validação antes de gravar, deixo sem essa annotation no método gravar.

Você tem seu código de gravação no método execute? Porque tem a possibilidade de você chamar a action com o método input, para que ele não faça a validação logo no primeiro acesso. Usa-se, por exemplo funcionario!input.action lá no jsp.

Testa aí para ver se fica ok.

t++

rodrigo_corinthians

Sobrecreve o método “input()” por default do Struts 2 quando entra nesse método não faz validação.

Criado 12 de fevereiro de 2008
Ultima resposta 13 de fev. de 2008
Respostas 4
Participantes 3