Boa tarde senhores.
Estou em um projeto em Struts 2 e tive um lampejo com algumas dúvidas que a falta de tempo não me deixam pesquisar nem estudar a respeito. Tipo a primeira é:
Faço todas as minhas validações de formulário na Action (BBean JSF / Controller VRaptor). Isso é o mais indicado ou o uso de alguns validation em XML ou até Java Script é a melhor solução?
Ex:
if(postoGradEspec.getCodPostoGradEspec() == 0 || cqes.getCodCQES() == 0 || omAtual.getCodOrgao() == 0 ||
permissionario.getNome().length() < 2 || permissionario.getDeSenha().equals(null) || confirSenha.equals(null)) {
addActionMessage(":: Campos Obrigatórios não preenchidos!");
permissionario = new Permissionario();
return "cadastrarUsuario";
Outra dúvida é a seguinte. Já que tenho validações na minha Action não me sinto confortável inserindo código de negócio nessa Classe. Não existiria outro lugar para o meu método salvarUsuario por exemplo? Tem que estar nessa Action que valida esses dados?
Exemplo:
public String cadastrarUsuario() {
if(postoGradEspec.getCodPostoGradEspec() == 0 || cqes.getCodCQES() == 0 || omAtual.getCodOrgao() == 0 ||
permissionario.getNome().length() < 2 || permissionario.getDeSenha().equals(null) || confirSenha.equals(null)) {
addActionMessage(":: Campos Obrigatórios não preenchidos!");
permissionario = new Permissionario();
return "cadastrarUsuario";
}else {
if(permissionario.getDeSenha().equals(confirSenha)) {
if(this.salvar(permissionario, "cadastrarUsuario", "login")){
return "login";
}else{
return "cadastrarUsuario";
}
}else {
addActionMessage(":: Senhas informadas são diferentes!");
permissionario = new Permissionario();
return "cadastrarUsuario";
}
}
}
private Boolean salvar(Permissionario usuario, String tipo, String retorno){
permissionario = new Permissionario();
permissionario = PermissionarioDAO.getInstance().getById(usuario.getNip());
if(permissionario != null) {
if(tipo.equals("cadastrarUsuario")) {
addActionMessage(":: Já existe um cadastro para o NIP informado. Verifique se o NIP e a Senha estão correto!");
return false;
}else {
permissionario.setCqes(cqes);
permissionario.setPostoGradEspec(postoGradEspec);
permissionario.setOmAnterior(omAtual);
permissionario.setNome(usuario.getNome().toUpperCase());
permissionario.setNomeGuerra(usuario.getNomeGuerra().toUpperCase());
permissionario.setEmail(usuario.getEmail());
permissionario.setCpf(usuario.getCpf());
permissionario.setFone(usuario.getFone());
PermissionarioDAO.getInstance().save(permissionario);
addActionMessage(":: Edição realizada com sucesso!");
return true;
}
}else {
PermissionarioBO permBO = new PermissionarioBO();
permissionario = permBO.permissionarioDefault(usuario);
permissionario.setCqes(cqes);
permissionario.setPostoGradEspec(postoGradEspec);
permissionario.setOmAnterior(omAtual);
permissionario.setNome(usuario.getNome().toUpperCase());
permissionario.setNomeGuerra(usuario.getNomeGuerra().toUpperCase());
PermissionarioDAO.getInstance().save(permissionario);
addActionMessage(":: Cadastro realizado com sucesso!");
return true;
}
}
Aguardo Ajuda.