Bom dia,
Estou trabalhando com o VRaptor 3.3.1 e estou tendo um problema com o Validator
Tenho um cadastro que tem vários campos, mas apenas o Nome e o Telefone são obrigatórios.
Meu código está assim:
@Restrito(nivelPoder=TabelaPermissoes.CADATRAR_AGENTES)
public void cadastrarAgente(Agente agente) throws Exception{
try {
this.verificarCamposObrigatorios(agente);
validator.onErrorForwardTo(this).formularioAgente();
agenteDao.inserir(agente);
result.include("msg","Agente cadastrado com sucesso!");
result.redirectTo(PrincipalController.class).index();
} catch (Exception e) {
validator.add(new ValidationMessage(ConfigurarMensagemDeErro.configurarMensagem(e.getMessage()), "erro"));
validator.onErrorForwardTo(this).formularioAgente();
}
}
Estou validando assim:
private void verificarCamposObrigatorios(Agente agente) throws Exception{
if (agente.getNome() == null || agente.getNome().length() < 5){
validator.add(new ValidationMessage(
"O campo Nome é obrigatório e precisa ter mais de 5 letras.", "agente.nome"));
}
if (agente.getTelefone().equals("") ){
validator.add(new ValidationMessage(
"O campo Telefone é obrigatório.", "agente.telefone"));
}
}
O problema é que ele esta sempre caindo no catch e esta retornando esta mensagem:
[ValidationMessage{category=endereco.cidade.codigo, message=???is_not_a_valid_integer???, parameters=null}]
Porém eu não quero que a cidade seja obrigatório.
Grato.