try this
 errors.add("usuario", new ActionError("login.usuario.requerido"));


> -----Original Message-----
> From: Francisco Antonio Vieira Souza [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, September 21, 2005 8:30 PM
> To: Struts Users Mailing List
> Subject: Re: Help - I cannot validate a simple form with 2 fields
>
>
> I really dont get it, I might be being so stupid not figuring out what
> is going on wrong here, but I dont.
>
> Clearing a little. I decided not to use DynaForm and go back to the
> usual ActionForm and gave up using Client-side validation.
>
> When I implement the validate method of the Bean (as it is now) I get
> the error messages as expected, but I had to create a protected method
> to check if the field was null or blank, then put the error message in
> the ActionMessage.
>
> But I dont see any sense in doing such thing like that, why should I do
> this inside validate method if I have already said in validation.xml
> that those fields are REQUIRED, at least that message should be shown to
> the user. Correct me if I am wrong.
>
> If I comment the validate method nothing happen, it is not able to check
> if the field was left blank.
>
> Please be pacience and have a look again:
>
> struts-config.xml:
> <?xml version="1.0" encoding="ISO-8859-1" ?>
>
> <!DOCTYPE struts-config PUBLIC
>           "-//Apache Software Foundation//DTD Struts
> Configuration 1.2//EN"
>           "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd";>
>
>
> <struts-config>
>
>     <form-beans>
>         <!-- This is it -->
>         <form-bean name="LoginUsuarioForm"
> type="br.com.gerente.bean.LoginFormBean"/>
>
>         <form-bean name="GetClienteForm"
> type="br.com.gerente.bean.GetClienteFormBean"/>
>     </form-beans>
>
>     <global-exceptions>
>
>     </global-exceptions>
>
>     <global-forwards>
>         <forward name="welcome"  path="/Clientes.do"/>
>         <forward name="inicio" path="/index.jsp" redirect="true"/>
>     </global-forwards>
>
>     <action-mappings>
>         <!-- This is an action just to call the .jsp file with
> the form -->
>         <action path="/prepararLogin"
>             type="br.com.gerente.action.SuccessAction">
>             <forward name="success" path="/paginas/login.jsp"/>
>         </action>
>
>         <!-- This is my (first) problem in validation -->
>         <action name="LoginUsuarioForm"
>             input="/paginas/login.jsp"
>             path="/LoginUsuario"
>             scope="request"
>             type="br.com.gerente.action.LoginUsuarioAction"
>             validate="true">
>             <forward name="sucesso" path="/paginas/clienteCadastro.jsp"/>
>         </action>
>
>         <!-- This is just the next form to be processed after validating
> the previous -->
>         <action path="/Clientes" forward="/paginas/clienteCadastro.jsp"/>
>
>         <!-- This is another form with the data from the previous
> inputs -->
>         <action name="GetClienteForm"
>             input="/paginas/clienteCadastro.jsp"
>             path="/clientes"
>             scope="request"
>             type="br.com.gerente.action.GetClienteFormAction">
>             <forward name="mostrandoDadosCliente"
>             path="/paginas/clienteDados.jsp"/>
>         </action>
>
>     </action-mappings>
>
>     <controller
> processorClass="org.apache.struts.tiles.TilesRequestProcessor"/>
>     <message-resources parameter="br/com/gerente/Resources"/>
>
>     <!-- ========================= Tiles plugin
> ===============================-->
>     <plug-in className="org.apache.struts.tiles.TilesPlugin" >
>         <set-property property="definitions-config"
> value="/WEB-INF/tiles-defs.xml" />
>         <set-property property="moduleAware" value="true" />
>     </plug-in>
>
>     <!-- ========================= Validator plugin
> ================================= -->
>     <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
>         <set-property
>         property="pathnames"
>         value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
>         <set-property property="stopOnFirstError" value="true" />
>     </plug-in>
>
> </struts-config>
>
> validation.xml:
> <?xml version="1.0" encoding="ISO-8859-1" ?>
>
> <!DOCTYPE form-validation PUBLIC
>           "-//Apache Software Foundation//DTD Commons Validator Rules
> Configuration 1.1.3//EN"
>           "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd";>
>
> <form-validation>
>
>     <global>
>     </global>
>
>     <formset >
>         <constant>
>             <constant-name>postalCode</constant-name>
>             <constant-value>^[0-9a-zA-Z]*$</constant-value>
>         </constant>
>
>         <form name="LoginUsuarioForm">
>             <field property="usuario" depends="required">
>                 <arg key="login.usuario"/>
>             </field>
>             <field property="senha" depends="required">
>                 <arg key="login.senha"/>
>             </field>
>         </form>
>     </formset>
>
> </form-validation>
> //----------------------------------------------------------------
> -----------------------------------------------
>
> /*
>  * LoginFormBean.java
>  *
>  * Created on 21 de Setembro de 2005, 08:25
>  *
> */
>
> package br.com.gerente.bean;
>
> import javax.servlet.http.HttpServletRequest;
> import org.apache.struts.action.ActionMapping;
> import org.apache.struts.action.ActionErrors;
> import org.apache.struts.action.ActionMessage;
>
> public class LoginFormBean extends
> org.apache.struts.validator.ValidatorForm {
>     private String usuario;
>     private String senha;
>     private String senhaConfirmada;
>
>     public LoginFormBean() {
>     }
>
>     public void reset(ActionMapping actionMapping, HttpServletRequest
> request) {
>     }
>
>     public ActionErrors validate(ActionMapping actionMapping,
> HttpServletRequest request) {
>         ActionErrors errors = super.validate( actionMapping, request );
>         if (errors == null) {
>             errors = new ActionErrors(  );
>         }
>         if( nullOrBlank( (String)this.getUsuario()) ) {
>             errors.add("usuario", new
> ActionMessage("login.usuario.requerido"));
>         }
>         if( nullOrBlank( (String)this.getSenha()) ) {
>             errors.add("senha", new
> ActionMessage("login.senha.requerido"));
>         }
>
>         return errors;
>     }
>
>     protected boolean nullOrBlank(String str) {
>         return ((str == null) || (str.length() == 0));
>     }
>
>     public String getUsuario() {
>         return usuario;
>     }
>
>     public void setUsuario(String usuario) {
>         this.usuario = usuario;
>     }
>
>     public String getSenha() {
>         return senha;
>     }
>
>     public void setSenha(String senha) {
>         this.senha = senha;
>     }
>
>     public String getSenhaConfirmada() {
>         return senhaConfirmada;
>     }
>
>     public void setSenhaConfirmada(String senhaConfirmada) {
>         this.senhaConfirmada = senhaConfirmada;
>     }
>
> }
> //----------------------------------------------------------------
> -----------------------------------------------
>
> /*
>  * LoginUsuarioAction.java
>  *
>  * Created on 21 de Setembro de 2005, 09:50
>  *
>  */
>
> package br.com.gerente.action;
>
> import br.com.gerente.bean.GetClienteFormBean;
> import javax.servlet.http.HttpServletRequest;
> import javax.servlet.http.HttpServletResponse;
>
> import org.apache.struts.action.ActionForm;
> import org.apache.struts.action.ActionForward;
> import org.apache.struts.action.ActionMapping;
>
> public class LoginUsuarioAction extends org.apache.struts.action.Action {
>
>     /** Creates a new instance of LoginUsuarioAction */
>     public LoginUsuarioAction() {
>     }
>
>     public ActionForward execute(ActionMapping mapping, ActionForm form,
> HttpServletRequest request, HttpServletResponse response) throws
> Exception {
>         return mapping.findForward("sucesso");
>     }
> }
> //----------------------------------------------------------------
> -----------------------------------------------
>
> Resources.properties:
> #--- erro padrao / default errors --
> errors.header=<font color="red">Erro! Por favor verifique a(s)
> seguinte(s) mensagem(ns):<ul>
> errors.footer=</ul></font>
> errors.prefix=<LI>
> errors.suffix=</LI>
>
> errors.invalid={0} is invalid.
> errors.maxlength={0} can not be greater than {1} characters.
> errors.minlength={0} can not be less than {1} characters.
> errors.range={0} is not in the range {1} through {2}.
> errors.required={0} é obrigatório.
> errors.byte={0} must be an byte.
> errors.date={0} is not a date.
> errors.double={0} must be an double.
> errors.float={0} must be an float.
> errors.integer={0} must be an integer.
> errors.long={0} must be an long.
> errors.short={0} must be an short.
> errors.creditcard={0} is not a valid credit card number.
> errors.email={0} is an invalid e-mail address.
> errors.cancel=Operation cancelled.
> errors.detail={0}
> errors.general=The process did not complete. Details should follow.
> errors.token=Request could not be completed. Operation is not in sequence.
>
> login.titulo=Login de Acesso ao Sistema [G]erente
> login.usuario=Nome de acesso
> login.senha=Senha de acesso
> login.usuario.requerido=Nome de acesso obrigatório
> login.senha.requerido=Senha de acesso obrigatório
>
> # -- botoes/buttons --
> botao.enviar=Enviar Dados
> botao.cancelar=Cancelar
> botao.confirmar=Confirmar
> botao.limpar=Limpar
> botao.salvar=Salvar
> //----------------------------------------------------------------
> -----------------------------------------------
>
> login.jsp:
> <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean";
> prefix="bean" %>
> <%@ taglib uri="http://jakarta.apache.org/struts/tags-html";
> prefix="html" %>
> <%@ taglib uri="http://jakarta.apache.org/struts/tags-logic";
> prefix="logic" %>
>
> <html:html locale="true">
>     <head>
>         <title><bean:message key="login.titulo"/></title>
>         <html:base/>
>     </head>
>
>     <body>
>         <center>
>             <h1><bean:message key="login.titulo"/></h1>
>
>             <table width="50%">
>                 <html:form action="/LoginUsuario.do" focus="login"
> method="post">
>                     <thead>
>                         <tr>
>                             <th ><bean:message key="login.usuario"/></th>
>                             <th ><bean:message key="login.senha"/></th>
>                         </tr>
>                     </thead>
>                     <tbody>
>                         <tr>
>                             <td><html:text property="usuario" size="20"
> maxlength="20" /></td>
>                             <td><html:password property="senha"
> size="20" maxlength="10"/></td>
>                         </tr>
>                         <tr>
>                             <td>
>                                 <html:submit>
>                                     <bean:message key="botao.enviar" />
>                                 </html:submit>
>                             </td>
>                             <td>
>                                 <html:cancel>
>                                     <bean:message key="botao.cancelar" />
>                                 </html:cancel>
>                             </td>
>                         </tr>
>                     </tbody>
>                 </html:form>
>             </table>
>         </center>
>         <html:errors />
>     </body>
>     <html:javascript formName="LoginUsuarioForm"
> dynamicJavascript="true" staticJavascript="false"/>
>
> </html:html>
>
> Thanks in advance.
> Francisco
>
>
>
>
>
> _______________________________________________________
> Novo Yahoo! Messenger com voz: ligações, Yahoo! Avatars, novos
> emoticons e muito mais. Instale agora!
> www.yahoo.com.br/messenger/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to