DynaValidatorActionForm vs DynaValidatorForm

13 respostas
M

Alguem saberia responder a diferença entre DynaValidatorActionForm e DynaValidatorForm, quando usar um e quando usar outro.

Muito Obrigado.

13 Respostas

Mauricio_Linhares

A documentação diz as mesmas coisas sobre as duas (até o texto é o mesmo) mas a primeira herda da segunda:

http://struts.apache.org/api/org/apache/struts/validator/DynaValidatorForm.html

http://struts.apache.org/api/org/apache/struts/validator/DynaValidatorActionForm.html

Kleber_Santos

DynaValidatorActionForm
seria na execução da Action validar o Form
DynaValidatorForm
seria na execução do Form validar os dados

:stuck_out_tongue:

Mauricio_Linhares

Kleber Santos:
DynaValidatorActionForm
seria na execução da Action validar o Form
DynaValidatorForm
seria na execução do Form validar os dados

:stuck_out_tongue:

Validar na execução do form? E o form executa :?:

Kleber_Santos

o proprio nome diz, eu tenho exemplos pq eu uso bantante…

agora o termo didatico eu teria q pegar aqui para passar para vcs…

:smiley:

Kleber_Santos

putz pessoal eu tenho exemplo somente de DynamicForm

.java
package br.calleidoscope.action;

import java.util.LinkedList;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.validator.DynaValidatorForm;

import br.calleidoscope.bean.CampanhaData;
import br.calleidoscope.bean.ErrorsData;
import br.calleidoscope.dao.AdminCampanhasDAO;
import br.calleidoscope.form.SaveInsertCampanhaForm;



/**
 * @author kleber
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class SaveInsertCampanhaAction extends Action{
    public ActionForward execute(
            ActionMapping mapping,
            ActionForm form,
            HttpServletRequest request,
            HttpServletResponse response)
            throws Exception {

    		System.out.println("Iniciando SaveInsertCampanhaAction");
            DynaValidatorForm dynaForm = (DynaValidatorForm) form;
            ActionErrors errors = new ActionErrors();
            SaveInsertCampanhaForm campanhaForm=new SaveInsertCampanhaForm();
            try {            	
                HttpSession session = request.getSession();
                // popula o bean do usuario com os dados que vieram do Form
                CampanhaData campanha = (CampanhaData) session.getAttribute("insertCampanhaBean");
                System.out.println("Iniciando insertCampanhaBean");
                
                campanha.setcampCodCampanha(Integer.parseInt((String)dynaForm.get("campCodCampanha")));
                System.out.println("campCodCampanha:"+Integer.parseInt((String)dynaForm.get("campCodCampanha")));
                
                campanha.setcampDescricao((String)dynaForm.get("campDescricao"));
                System.out.println("campDescricao:"+(String)dynaForm.get("campDescricao"));

                campanha.setcampDtInicial((String)dynaForm.get("campDtInicial"));
                System.out.println("campDtInicial:"+(String)dynaForm.get("campDtInicial"));
                
                campanha.setcampDtFinal((String)dynaForm.get("campDtFinal"));
                System.out.println("campDtFinal:"+(String)dynaForm.get("campDtFinal"));
                
                campanha.setcampQdeLigRamais(Integer.parseInt((String)dynaForm.get("campQdeLigRamais")));
                System.out.println("campQdeLigRamais:"+Integer.parseInt((String)dynaForm.get("campQdeLigRamais")));
                
                campanha.setcampRotaDefaultLocal(Integer.parseInt((String)dynaForm.get("campRotaDefaultLocal")));
                System.out.println("campRotaDefaultLocal:"+Integer.parseInt((String)dynaForm.get("campRotaDefaultLocal")));
                
                campanha.setcampRamal(Integer.parseInt((String)dynaForm.get("campRamal")));
                System.out.println("campRamal:"+Integer.parseInt((String)dynaForm.get("campRamal")));
                
                campanha.setcampNASinalizacao((String)dynaForm.get("campNASinalizacao"));
                System.out.println("campNASinalizacao:"+(String)dynaForm.get("campNASinalizacao"));
                
                campanha.setcampStatus(4);
                System.out.println("campStatus:4");
                
                campanha.setcampTentativasOcupado(Integer.parseInt((String)dynaForm.get("campTentativasOcupado")));
                System.out.println("campTentativasOcupado:"+Integer.parseInt((String)dynaForm.get("campTentativasOcupado")));
                
                campanha.setcampTentativasNAtende(Integer.parseInt((String)dynaForm.get("campTentativasNAtende")));
                System.out.println("campTentativasNAtende:"+Integer.parseInt((String)dynaForm.get("campTentativasNAtende")));
                
                campanha.setcampTentativasOutros(Integer.parseInt((String)dynaForm.get("campTentativasOutros")));
                System.out.println("campTentativasOutros:"+Integer.parseInt((String)dynaForm.get("campTentativasOutros")));
                
                campanha.setcampTentativasRamalIndisp(Integer.parseInt((String)dynaForm.get("campTentativasRamalIndisp")));
                System.out.println("campTentativasRamalIndisp:"+Integer.parseInt((String)dynaForm.get("campTentativasRamalIndisp")));
                
                campanha.setcampIntervaloRediscOcupado(Integer.parseInt((String)dynaForm.get("campIntervaloRediscOcupado")));
                System.out.println("campIntervaloRediscOcupado:"+Integer.parseInt((String)dynaForm.get("campIntervaloRediscOcupado")));
                
                campanha.setcampIntervaloRediscNAtende(Integer.parseInt((String)dynaForm.get("campIntervaloRediscNAtende")));
                System.out.println("campIntervaloRediscNAtende:"+Integer.parseInt((String)dynaForm.get("campIntervaloRediscNAtende")));
                
                campanha.setcampIntervaloRediscOutros(Integer.parseInt((String)dynaForm.get("campIntervaloRediscOutros")));
                System.out.println("campIntervaloRediscOutros:"+Integer.parseInt((String)dynaForm.get("campIntervaloRediscOutros")));
                
                campanha.setcampIntervaloRediscRamalIndisp(Integer.parseInt((String)dynaForm.get("campIntervaloRediscRamalIndisp")));
                System.out.println("campIntervaloRediscRamalIndisp:"+Integer.parseInt((String)dynaForm.get("campIntervaloRediscRamalIndisp")));


                
                System.out.println("campanha.getcampCodCampanha():"+campanha.getcampCodCampanha());
                System.out.println("campanha.getcampDescricao():"+campanha.getcampDescricao());
                System.out.println("campanha.getcampQdeLigRamais():"+campanha.getcampQdeLigRamais());
                System.out.println("campanha.getcampRotaDefaultLocal():"+campanha.getcampRotaDefaultLocal());
                System.out.println("campanha.getcampRamal():"+campanha.getcampRamal());
                System.out.println("campanha.getcampNASinalizacao():"+campanha.getcampNASinalizacao());
                System.out.println("campanha.getcampStatus():"+campanha.getcampStatus());
                
                System.out.println("campanha.getcampTentativasOcupado():"+campanha.getcampTentativasOcupado());
                System.out.println("campanha.getcampTentativasNAtende():"+campanha.getcampTentativasNAtende());
                System.out.println("campanha.getcampTentativasOutros():"+campanha.getcampTentativasOutros());

                System.out.println("campanha.getcampTentativasRamalIndisp():"+campanha.getcampTentativasRamalIndisp());
                System.out.println("campanha.getcampIntervaloRediscOcupado():"+campanha.getcampIntervaloRediscOcupado());
                System.out.println("campanha.getcampIntervaloRediscNAtende():"+campanha.getcampIntervaloRediscNAtende());
                System.out.println("campanha.getcampIntervaloRediscOutros():"+campanha.getcampIntervaloRediscOutros());
                System.out.println("campanha.getcampIntervaloRediscRamalIndisp():"+campanha.getcampIntervaloRediscRamalIndisp());
                
                AdminCampanhasDAO adminCampanhasDAO = new AdminCampanhasDAO();                                
                adminCampanhasDAO.insertCampanha(campanha);

                session.removeAttribute("insertCampanhaBean");
                
				session.removeAttribute("campanhaListBean");	    				
				LinkedList campanhasList = new LinkedList(); 
				campanhasList=adminCampanhasDAO.getCampanhaList();    				
				session.setAttribute("campanhaListBean", campanhasList);
                
                System.out.println("SaveInsertCampanhaAction ok");
            }
            catch (Exception e) {
            	
            	System.out.println("erro:SaveInsertCampanhaAction "+e.getMessage());
	            errors.add(
	                ActionErrors.GLOBAL_ERROR,
	                new ActionError("error.insert.campanha"));
            }

            if (!errors.isEmpty()) {
                saveErrors(request, errors);
                return (mapping.findForward("failure"));
            }
            else {
                return (mapping.findForward("success"));
            }
		}	

}
struts-config.xml
<form-bean dynamic="true" name="saveInsertCampanhaForm" type="org.apache.struts.validator.DynaValidatorForm">
		    <form-property name="campCodCampanha" type="java.lang.String" />
		    <form-property name="campDescricao" type="java.lang.String" />
		    <form-property name="campDtInicial" type="java.lang.String" />
		    <form-property name="campDtFinal" type="java.lang.String" />
		    <form-property name="campQdeLigRamais" type="java.lang.String" />
		    <form-property name="campRotaDefaultLocal" type="java.lang.String" />
		    <form-property name="campRamal" type="java.lang.String" />
		    <form-property name="campNASinalizacao" type="java.lang.String" />
		    <form-property name="campTentativasOcupado" type="java.lang.String" />
		    <form-property name="campTentativasNAtende" type="java.lang.String" />
		    <form-property name="campTentativasOutros" type="java.lang.String" />
		    <form-property name="campTentativasRamalIndisp" type="java.lang.String" />
		    <form-property name="campIntervaloRediscOcupado" type="java.lang.String" />
		    <form-property name="campIntervaloRediscNAtende" type="java.lang.String" />
		    <form-property name="campIntervaloRediscOutros" type="java.lang.String" />
		    <form-property name="campIntervaloRediscRamalIndisp" type="java.lang.String" />		    
		    <form-property name="campStatus" type="java.lang.String" />		    
		</form-bean>

não sei se ajuda....

:lol:

Mauricio_Linhares

Continuo sem entender…

Onde foi que o form executou?

E bota um logger aí pelo amor de deus, esse monte de System.out.println() tá terrível :mrgreen:

P

Maurício Linhares:
A documentação diz as mesmas coisas sobre as duas (até o texto é o mesmo) mas a primeira herda da segunda:

http://struts.apache.org/api/org/apache/struts/validator/DynaValidatorForm.html

http://struts.apache.org/api/org/apache/struts/validator/DynaValidatorActionForm.html

O texto é quase igual.

A diferença é a chave usada para buscar a regra de validação no (ou nos) arquivos de validação (validator-xxxxx.xml).

No DynaValidatorForm, a chave é o valor do atributo “name” do form.

No DynaValidatorActionForm, a chave é o path da action que estiver no form.

Mauricio_Linhares

Ahhhhhhhhh

Agora eu entendi :mrgreen:

M

Valeu Muito Obrigado.

Kleber_Santos

Bem q eu queria… esqueci de tirar os comments…

Regras de segurança…

:roll:

M

Bom dia a todos

Estou com alguns problemas ao usar o Validator se alguem poder me ajudar segue abaixo as duvidas.
  • Ao chamar o validator no jsp "onsubmit="return validateUserForm(this); para mim não funciona porque eu ja utilizo uma função javascript no onclick pois já tentei chamar esta função do validator na função que já uso mas não funciona.

  • A segunda dúvida é que quando utilizo DynaValidatorForm eu consigo validar no servidor e no cliente pois quando utilizo DynaValidatorActionForm eu só consigo validar no servidor.

Muito Obrigado.

N

Pessoal estou começando a mexer com Struts… fico legal esse tópico de validação… mas não entendi isso…

CampanhaData campanha = (CampanhaData)session.getAttribute(“insertCampanhaBean”);

não entendi o q é esse insertCampanhaBean…

alguem poderia me dar um help…

G

“insertCampanhaBean” é o nome do atributo a ser recuperado.

Criado 24 de junho de 2005
Ultima resposta 13 de nov. de 2007
Respostas 13
Participantes 6