| Author |
Message |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/03/2010 08:19:41
|
khaleo
![[Avatar]](/images/avatar/5ef0b4eba35ab2d6180b0bca7e46b6f9.jpg)
Joined: 30/01/2008 12:06:37
Messages: 11
Location: Volta Redonda - RJ
Offline
|
Pessoal, estou fazendo um exemplo simples de validação de campos usando o menta. Segue as configurações do meu ApplicationManager e Action:
Code:
public class ApplicationManager extends org.mentawai.core.ApplicationManager{
@Override
public void loadActions() {
setDebugMode(true);
addGlobalFilter(new ValidatorFilter());
ActionConfig ac = new ActionConfig("ActPadrao", ActPadrao.class);
ac.addConsequence(ERROR, "pergunta1", new Forward("erro.jsp"));
ac.addConsequence(SUCCESS, "pergunta1", new Forward("certo.jsp"));
addActionConfig(ac);
}
}
Minha Action:
Code:
public class ActPadrao extends BaseAction implements Validatable{
private static final String CAMPO_REQUERIDO = "Campo requerido";
private String resposta;
public String pergunta1(){
resposta = input.getString("resposta");
if (resposta.trim().equalsIgnoreCase("b")){
return SUCCESS;
}
return ERROR;
}
public void prepareValidator(Validator val, String innerAction) {
if (innerAction.equalsIgnoreCase("pergunta1")){
val.add("reposta", new RequiredFieldRule(), CAMPO_REQUERIDO);
}
}
}
E agora meu jsp:
Code:
<%@taglib prefix="mtw" uri="http://www.mentaframework.org/tags-mtw/" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Perguntas</h1>
<form id="frm" method="post" action="ActPadrao.pergunta1.mtw">
<table width="100%" border="0">
<tr>
<td width="15%">Pergunta:</td>
<td width="27%"><label> <mtw:input type="text"
name="resposta" id="resposta" /> </label></td>
<td width="58%"><mtw:hasError>
<font color="red"> <mtw:error field="resposta" /> </font>
</mtw:hasError></td>
</tr>
</table>
<input type="submit" value="OK" id="btnOK"/>
</form>
</body>
</html>
Esse código está redirecionando pra pagina correta de acordo com a resposta solicitada, o problema é q se o campo estiver vazio, ele nao está validando como campo requerido na pagina jsp, ele já redireciona direto como resposta errada...
A saida de debug está assim:
Code:
- - - - - - - - - - - - - - - - Mentawai DEBUG - - - - - - - - - - - - - - - -
ActionName = ActPadrao
InnerAction = pergunta1
ActionClass = action.ActPadrao
Browser Locale = pt_BR
Action Locale = en_US
Default Locale = en_US
Input:
resposta =
Output:
empty
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Filter = org.mentawai.filter.ValidatorFilter@7787a5
Input:
resposta =
Output:
fieldErrors = {reposta=Campo requerido}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Result = error
Consequence = Forward to /erro.jsp
Total Time = 17ms
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Mentawai Web Framework - Version:1.15 Build:20091016
Pq ele nao renderiza na tela em frente ao campo de texto como "Campo requerido" ??
|
Programador |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/03/2010 08:46:03
|
IceW0lf
![[Avatar]](/images/avatar/7cbbc409ec990f19c78c75bd1e06f215.jpg)
Joined: 16/03/2006 08:33:38
Messages: 1546
Location: Brasília
Offline
|
Esquece vi q tu ta usando <mtw:error field="resposta" /> dentro entao ta certinho... mal minha.
Tira o @Override acima do loadAction e faca um teste.
|
Leiber Wallace
Voixy ::: Soluções em Telecomunicações |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/03/2010 08:48:36
|
khaleo
![[Avatar]](/images/avatar/5ef0b4eba35ab2d6180b0bca7e46b6f9.jpg)
Joined: 30/01/2008 12:06:37
Messages: 11
Location: Volta Redonda - RJ
Offline
|
Coloquei do jeito que vc descreveu, mas continua nao renderizando...
Code:
<%@taglib prefix="mtw" uri="http://www.mentaframework.org/tags-mtw/" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Perguntas</h1>
<form id="frm" method="post" action="ActPadrao.pergunta1.mtw">
<table width="100%" border="0">
<tr>
<td width="15%">Pergunta:</td>
<td width="27%"><label> <mtw:input type="text"
name="resposta" id="resposta" /> </label></td>
<td width="58%"><mtw:outFieldErrors>
<font color="red"> <mtw:error field="resposta" /> </font>
</mtw:outFieldErrors></td>
</tr>
</table>
<input type="submit" value="OK" id="btnOK"/>
</form>
</body>
</html>
Muito estranho...
|
Programador |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/03/2010 08:57:48
|
IceW0lf
![[Avatar]](/images/avatar/7cbbc409ec990f19c78c75bd1e06f215.jpg)
Joined: 16/03/2006 08:33:38
Messages: 1546
Location: Brasília
Offline
|
afff esquece tb....
como disse veja seu JSP... vc tem:
Code:
<mtw:input type="text" name="resposta" id="resposta" />
e quer validar
Code:
val.add("reposta", new RequiredFieldRule(), CAMPO_REQUERIDO);
O que ta errado ai????
|
Leiber Wallace
Voixy ::: Soluções em Telecomunicações |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/03/2010 09:00:57
|
khaleo
![[Avatar]](/images/avatar/5ef0b4eba35ab2d6180b0bca7e46b6f9.jpg)
Joined: 30/01/2008 12:06:37
Messages: 11
Location: Volta Redonda - RJ
Offline
|
Retirei e aconteceu a mesma coisa... nao renderizou "Campo requerido"
|
Programador |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/03/2010 09:02:56
|
khaleo
![[Avatar]](/images/avatar/5ef0b4eba35ab2d6180b0bca7e46b6f9.jpg)
Joined: 30/01/2008 12:06:37
Messages: 11
Location: Volta Redonda - RJ
Offline
|
Entao, na teoria aparentemente era pra estar correto:
Code:
public void prepareValidator(Validator val, String innerAction) {
if (innerAction.equalsIgnoreCase("pergunta1")){
val.add("reposta", new RequiredFieldRule(), CAMPO_REQUERIDO);
}
}
|
Programador |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/03/2010 09:09:08
|
IceW0lf
![[Avatar]](/images/avatar/7cbbc409ec990f19c78c75bd1e06f215.jpg)
Joined: 16/03/2006 08:33:38
Messages: 1546
Location: Brasília
Offline
|
Como filho que da certo.
Se teu JSP ta falando um campo e tu ta validando outro????
O teu campo chama-se resposta
<mtw:input type="text" name="resposta" id="resposta" />
O seu error chama-se
<mtw:hasError><mtw:error field="resposta" /></mtw:hasError>
E tu valida reposta e quer que o menta entenda que reposta = resposta ?
val.add("reposta", new RequiredFieldRule(), CAMPO_REQUERIDO);
Ele vai procurar no JSP por reposta e nao resposta, ou um ou outro... ou põe ou tira o s.
|
Leiber Wallace
Voixy ::: Soluções em Telecomunicações |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/03/2010 09:22:31
|
khaleo
![[Avatar]](/images/avatar/5ef0b4eba35ab2d6180b0bca7e46b6f9.jpg)
Joined: 30/01/2008 12:06:37
Messages: 11
Location: Volta Redonda - RJ
Offline
|
Admito q fiquei com um pouco de vergonha pela falta de atenção...rs
Mas acabei de corrigir a falta de "s" no campo e continuou dando o problema... porém vi no meu appmanager q quando a consequencia gera um erro, ela redireciona para "erro.jsp" e o correto seria redirecionar pra "index.jsp", pois assim funcionou de boa...
Oq eu fiz está correto??
Muito obrigado pela paciencia amigo !!!!
|
Programador |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/03/2010 09:41:11
|
IceW0lf
![[Avatar]](/images/avatar/7cbbc409ec990f19c78c75bd1e06f215.jpg)
Joined: 16/03/2006 08:33:38
Messages: 1546
Location: Brasília
Offline
|
Para seu formulario vc tem q fazer:
1) preencho os campos da minha pagina fulana.jsp e clico em salvar
2) Vai para a action Beltrana.action
3) on SUCCESS vai pra qualquer pagina action etc.
3) on ERROR retorna pra fulana.jsp e exibe erro no campo X.
Se tu validar e mandar pra outra pagina realmente nao vai mostrar o erro.
A validacao retorna ERROR se houver erro.
|
Leiber Wallace
Voixy ::: Soluções em Telecomunicações |
|
|
 |
|
|