Struts 2 + Annotation + Validation

1 resposta
java
Eduardo.anjo

Bom dia,

Estou desenvolvendo uma aplicação em Struts2 e tentando fazer tudo por annotation.

Eu consigo mapear várias ações em uma mesma classe, como no exemplo abaixo:

@Action(value = inserirUsuario, results = {

@Result(name = usuarioCadastrado, location = /login/login_usuario/login.jsp),

@Result(name = usuarioNaoCadastrado, location = /usuario/cadastro_usuario.jsp)

})

public String inserirUsuario(){

if (txtNome != null && !"".equalsIgnoreCase(txtNome)){

if (txtCpf != null && !"".equalsIgnoreCase(txtCpf)){

if (txtTelefone != null && !"".equalsIgnoreCase(txtTelefone)){

if (txtEmail != null && !"".equalsIgnoreCase(txtEmail)){
Usuario ur = new Usuario();
					
					ur.setDsCpf(txtCpf);
					ur.setDsNome(txtNome);
					ur.setDsTelefone(txtTelefone);
					ur.setDsEmail(txtEmail);
					ur.setDsSenha(CryptoUtil.cryptMD5(txtSenha.toUpperCase()));
					
					dao.inserirUsuario(ur);
					addActionMessage("Usuário Cadastrado com Sucesso");
					
					return "usuarioCadastrado";
				}else{
					addActionMessage("Favor digitar seu e-mail.");
					return "usuarioNaoCadastrado";
				}
			}else{
				addActionMessage("Favor digitar seu telefone.");
				return "usuarioNaoCadastrado";
			}
		}else{
			addActionMessage("Favor digitar seu cpf.");
			return "usuarioNaoCadastrado";
		}
	}else{
		addActionMessage("Favor digitar seu nome.");
		return "usuarioNaoCadastrado";
	}
}

Para cada método eu chamo um @Action diferente.

Sendo que eu queria validar esses campos, tipo o campo txtEmail.

Usar o @Validations(emails = { @EmailValidator(fieldName = “txtEmail”, message = “You must enter a value for email.”)}) por exemplo.

Sendo que eu não consegui até agora, e nem achei lugar nenhum explicando como faço para botar esse validação apenas nesse método, para usar o result desse método.

Tipo aquele result @Result(name = “usuarioNaoCadastrado”, location = “/usuario/cadastro_usuario.jsp”)

1 Resposta

Eduardo.anjo

Eu já resolvi esse problema.

Meu problema agora é outro, consigo fazer a validação normalmente, mais estou fazendo algumas alterações no template, e os campos validam normalmente, só que o campo do tipo password não aparece a mensagem de erro.

Se alguém já fez alterações no template me ajude plz.

Estou seguindo esse tutorial: https://www.mkyong.com/struts2/working-with-struts-2-theme-template/

Criado 26 de setembro de 2017
Ultima resposta 10 de jul. de 2018
Respostas 1
Participantes 1