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
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!!!
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
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++
Sobrecreve o método “input()” por default do Struts 2 quando entra nesse método não faz validação.