[Logo] Mentawai Forum - Mentawai Web Framework
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
Validation com Inner Actions [RESOLVIDO]  XML
Forum Index -> Comentários Gerais
Author Message
Glaucio


[Avatar]

Joined: 20/07/2005 08:22:57
Messages: 52
Offline

Pessoal,

Estou usando o ValidationFilter para validar meus formulários. O problema é quando utilizo as Inner Actions.

Imaginem o seguinte senário:

CadastrarPacote.mtw -> ValidationFilter - > CadastrarPacote.addProduto.mtw

Quando eu passo para a InnerAction CadastrarPacote.addProduto.mtw o filtro faz um fwd para CadastrarPacote.mtw dizendo que os campos não estão validados. Eu acredito que o caminho que está sendo feito é esse:

CadastrarPacote.mtw -> ValidationFilter - > CadastrarPacote.addProduto.mtw - ValidationFilter - > CadastrarPacote.mtw

O caminho real seria:

CadastrarPacote.mtw -> ValidationFilter - > CadastrarPacote.addProduto.mtw - ValidationFilter - > Sucesso.jsp

O fluxo funciona perfeitamente quando eu retiro o filtro. Pra mim o filtro está validando todas as Inner Actions da Action que ele foi adicionado. Alguma sugestão?

Não sei se consegui ser claro...


Um abraço!

Glaucio Guerra

Glaucio Guerra
velo


[Avatar]

Joined: 16/02/2006 13:33:54
Messages: 1197
Location: Jaraguá do Sul - SC
Offline

ValidationFilter usa a interface Validatable na Action neh?! Ou toh viajando?

VELO

_____________________________________
Mentawai Developer
"When the only tool you have is a hammer, everything looks like a nail"
http://en.wikipedia.org/wiki/Golden_hammer
[Email] [MSN]
saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline

Mas vc que diz pra onde o formuláio vai em caso de erro... O fluxo é:

CadastraProduto.addProduto -> ValidationFilter -> PAGINA JSP COM O FORMULAIO CADO HAJA ERRO.

Tudo que vc tem que fazer é dar um fwd para a página do formulário em caso de erro. Posta aqui o seu AppManager.

Sergio Oliveira

Glaucio


[Avatar]

Joined: 20/07/2005 08:22:57
Messages: 52
Offline

Exatamente. Ele está indo para a página de erro, mas ele não deixa a InnerAction ser executada. O filtro desvia o fluxo. Segue o AppManager.

Code:
 		//Manter Cadastro de GRDT
 			
 		action("/pages/DeleteGRDT",DeleteGRDT.class)
 		.on(SUCCESS,fwd("/pages/delete.jsp"))
 		.filter(new AuthorizationFilter(new Permission ("delete")));
 		action("/pages/ManterGrdt",ManterGRDT.class)
 		.on(SUCCESS, redir("/pages/ManterCadastroDocsGrdt.jsp"))
 		.on(ERROR, fwd("/pages/ManterCadastroGrdt.jsp"))
 		.on(ManterGRDT.DOCSUCCESS,fwd("/pages/resultCadDocs.jsp"))
 		.on(ManterGRDT.DOCERROR,fwd("/pages/ManterCadastroDocsGrdt.jsp"))
 		.on(ManterGRDT.GRDTSUCCESS,fwd("/pages/result.jsp"))
 		.on(ManterGRDT.LISTASUCCESS,fwd("/pages/GrdtByNumero.jsp"))	
 		.on(ManterGRDT.LDOCSUCCESS,fwd("/pages/GrdtByDocumento.jsp"))
 		.on(ManterGRDT.RELATORIOSUCCESS,new StreamConsequence("application/pdf"))
 		.on(ManterGRDT.EMPRESASUCCESS, fwd("/pages/GrdtByEmpresa.jsp"))
 		.on(ManterGRDT.DOCGRDT, fwd("/pages/DocsGrdt.jsp"))
 		.filter(new FileUploadFilter())
 		.filter(new GrdtValidator())
 		.filter(new AuthorizationFilter(new Permission ("read")))				
 		.filter(new VOFilter(Grdt.class,"Grdt"))
 		.filter(new VOFilter(Documentos.class,"Documento"));
 
 


Um abraço!

Glaucio Guerra
saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline

Onde está a sua inner action aí? Não to vendo!!!

Sergio

Sergio Oliveira

Glaucio


[Avatar]

Joined: 20/07/2005 08:22:57
Messages: 52
Offline

Sergio,

Estava uma linha abaixo do código que eu postei. No caminho da InnerAction eu coloquei "/" no final. Além disso eu coloquei o fwd ao invés do redir. Tá funionando blz! Obrigado pela ajuda.

Um abraço!

Glaucio Guerra

Glaucio Guerra
 
Forum Index -> Comentários Gerais
Go to:   
Powered by JForum 2.1.6 © JForum Team