Your login.jsp seems to be missing the form and fields. Do you have your
<html:javascript formName="UserForm"/> in it so you get the validation code?
Does your login page form also set the <html:form onsubmit="return
validateUserForm(this)" ....> ?

Regards,
David

-----Original Message-----
From: M.Schipperheyn [mailto:[EMAIL PROTECTED]
Sent: Saturday, November 22, 2003 1:31 PM
To: [EMAIL PROTECTED]
Subject: DynaValidator can't get validation to work


Hi,

I'm a newbie and I can't get validation to work using Dynabeans and
validation. Any help's appreciated. All the stuff I find on-line just
doesn't seem to cut it.
I'm getting no errors. When I post an empty username or password, no errors
are shown on the page. Input doesn't seem to get validated.

[Struts-config]
   <form-beans>
        <form-bean dynamic="true" name="UserForm"
type="org.apache.struts.validator.DynaValidatorForm">
            <form-property name="username" type="java.lang.String" />
            <form-property name="password" type="java.lang.String" />
        </form-bean>
    </form-beans>

   <action-mappings>
        <action
            input="/logon.jsp"
            name="UserForm"
            path="/logon"
            scope="request"
            type="nl.executieverkoop.action.LogonAction"
            validate="true"
            >
            <forward name="success" path="home" />
            <forward name="failure" path="login" />
        </action>
    </action-mappings>

    <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
        <set-property property="pathnames"
value="/WEB-INF/validator-rules.xml,/WEB-INF/validator.xml" />
    </plug-in>

validator.xml and validator-rules.xml are getting loaded. I can see it in
the log.

[validator.xml]
<formset>
        <form name="UserForm">

                <field
                        property="username"
                        depends="required">

                        <msg
                                name="required"
                                key="prompt.username.required"/>
                </field>
                <field
                        property="password"
                        depends="required,minLength">

                        <arg0
                                key="prompt.password"/>

                        <var>
                                <var-name>minlength</var-name>
                                <var-value>3</var-value>
                        </var>
                </field>
        </form>
</formset>

[LogonAction]
public class LogonAction extends Action {
        public ActionForward execute(
                ActionMapping mapping,
                ActionForm form,
                HttpServletRequest request,
                HttpServletResponse response)
                throws Exception {

                DynaValidatorForm userForm = (DynaValidatorForm) form;
                Session session;
                UserBean user;

                        Locale locale = getLocale(request);
                        MessageResources messages = getResources(request);

                        String username = (String)

PropertyUtils.getSimpleProperty(form, "username");
                                String password = (String)

PropertyUtils.getSimpleProperty(form, "password");

                        //hibernate lookup user
                        try{
                                SessionFactory sf = (SessionFactory)
servlet.getServletContext().getAttribute("HIBERNATE_SESSION_FACTORY");
                                session = sf.openSession();
                                List users = session.find("from UserBean as
user where user.username = ? and user.password = ?", new Object[]{username,
password},new Type[] { Hibernate.STRING, Hibernate.STRING} );
                                if(users.isEmpty()) {
                                        return
mapping.findForward("failure");
                                        }
                                sf.close();
                        }catch (HibernateException e) {
                                System.out.println(e);
                        }

                        return mapping.findForward("success");
        }
}

[logon.jsp]
<%@ page language="java" %>
<%@ taglib  uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>

<logic:messagesPresent>
<UL>

<html:messages id="error">
<LI><bean:write name="error"/></LI>
</html:messages>
</UL>
.

Any ideas?

Kind regards,

Marc


---------------------------------------------------------------------
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