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]