struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Skip Hollowell" <skipda...@hotmail.com>
Subject Problem with DynaValidatorForm
Date Mon, 05 Apr 2004 17:14:19 GMT
OK, I have a lot of things going on in my app, and something
is cancelling out my Validation, and I don't know what.    I load
the PrepaidAccoundInfo.do action, and the Tiles based
page loads properly.  I am able to submit the form on this
page, and it loads the prepaid.do action just fine, and r
emembers the bean info and redisplays it properly, but the
data is not validated.  I can omit any of the required fields,
and the AccountNum can be entered as anything, not just an int.

I have tryed renaming some of my paths, but they all appear to
be correct.  Is the SAIF Intereceptor causing the problem?
My next test will be to remove it, but I was wondering if anyone
had incorporated all of these things together before.

- DynaValidatorForm (I need to validate my user entered data, and
I am using lots of forms throughout the system)
- SAIF (I Want to be able to perform some common logic on all the
actions, for user authentication and authroization type functionality
mainly.  Tabs and actions will be available based upon what rights
 the user has)
-  Tiles for easy page creation (tabBar, header, body, footer)

Thoughts?  Help? Possible alternatatives?  All would be greatly
appreciated.

Skip Hollowell


struts-config.xml:
=========================================================
 <form-beans >
  <form-bean name="registerForm" type="skipdaddy.struts.form.RegisterForm">
  </form-bean>
  <form-bean name="prepaidDynaValidatorForm"
type="org.apache.struts.validator.DynaValidatorForm">
    <form-property name="parmVRUCode" type="java.lang.String" />
    <form-property name="parmAccountNum" type="java.lang.String" />
    <form-property name="parmDnis" type="java.lang.String" />
  </form-bean>
 </form-beans>

 <global-forwards >
   <forward name="PrepaidAccountInfo" path="/PrepaidAccountInfo.do" />
 </global-forwards>

 <action-mappings >
  <action path="/prepaid"
   type="skipdaddy.struts.action.PrepaidDynaAction"
   name="prepaidDynaValidatorForm"
   input="/PrepaidAccountInfo.do"
   scope="session"
   validate="true" >
   <forward name="success" path="/PrepaidAccountInfo.do" />
   <forward name="failure" path="/failure.html" />
  </action>

  <action
   path="/PrepaidAccountInfo"
   type="org.apache.struts.actions.ForwardAction"
   parameter=".prepaid.accountInfoLayout" />

 </action-mappings>

 <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" />
  <set-property property="definitions-parser-validate" value="true" />
 </plug-in>
 <!-- end comment if struts1.0.x -->

 <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="definitions-debug" value="1" />
 </plug-in>

   <plug-in className="net.sf.struts.saif.SAIFPlugin">
     <set-property property="interceptor-config"
value="/WEB-INF/interceptor-config.xml" />
   </plug-in>


validation.xml:
==============================
  <formset>
     <form name="prepaidDynaValidatorForm">
        <field property="parmVRUCode"
                        depends="required">
          <arg0 key="prepaid-vru.displayname"/>
        </field>
        <field property="parmAccountNum"
                        depends="required,integer">
          <arg0 key="prepaid-pin.displayname"/>
        </field>
        <field property="parmDnis"
                        depends="required,integer">
          <arg0 key="prepaid-dnis.displayname"/>
        </field>
    </form>
  </formset>


header.jsp (part of my tile)
=============================================
  <table id="getaccnt" align="center" width="95%">
    <html:form action="/prepaid" focus="parmAccountNum">
      <html:hidden property="parmAction" value="hld"/>
      <tr>
        <td id="staticVrucode" align="right">VRUCode&nbsp;</td>
        <td align="left"><html:text property="parmVRUCode" size="10"
maxlength="10"/></td>
        <td>&nbsp;</td>
      </tr>

PrepaidDynaAction.java:
================================================
/Created by MyEclipse Struts
// XSL source (default):
platform:/plugin/com.genuitec.eclipse.cross.easystruts.eclipse_2.6.200/xslt/
JavaClass.xsl

package skipdaddy.struts.action;

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;
import org.apache.struts.tiles.actions.TilesAction;
import org.apache.struts.validator.DynaValidatorForm;

/**
 * MyEclipse Struts
 * Creation date: 01-13-2004
 *
 */
public class PrepaidDynaAction extends TilesAction
{

  // --------------------------------------------------------- Instance
Variables

  // --------------------------------------------------------- Methods

  /**
   * Method execute
   * @param ActionMapping mapping
   * @param ActionForm form
   * @param HttpServletRequest request
   * @param HttpServletResponse response
   * @return ActionForward
   * @throws Exception
   */
  public ActionForward execute(
    ActionMapping mapping,
    ActionForm form,
    HttpServletRequest request,
    HttpServletResponse response)
    throws Exception
  {
    //String parmAccountNum = prepaidForm.getParmAccountNum();
    // String parmDnis = prepaidForm.getParmDnis();
    //String parmVruCode = prepaidForm.getParmVRUCode();

    DynaValidatorForm prepaidDynaValidatorForm = (DynaValidatorForm)form;
    System.out.println(prepaidDynaValidatorForm.toString());
    String parmAccountNum = request.getParameter("parmAccountNum");
    String parmDnis = request.getParameter("parmDnis");
    String parmVruCode = request.getParameter("parmVRUCode");

    System.out.println(
      "Entering the ActionForward in PrepaidAction"
        + request.getParameter("parmAccountNum"));
    if (parmAccountNum.equals(parmAccountNum))
    {
      System.out.println("PrepaidAction: SUCCESS");
      return mapping.findForward("success");
    }
    else
    {
      System.out.println("PrepaidAction: FAILURE");
      return mapping.findForward("failure");
    }
  }
}





---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Mime
View raw message