I am trying to use the validator framework for some simple form-field 
validation. Under web-inf, I have placed the default validator-rules.xml
eg:
/WEB-INF/validator-rules.xml (from the extracted examples).
and
/WEB-INF/validation.xml (from the storefront example, see below);
 
and in my struts-config.xml file I added this:
  <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
    <set-property property="pathnames" 
value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
  </plug-in>

 
So it appears I have put the proper pieces in place, but when the webapp 
starts-up, I get the below error, which looks like it cannot find the files?
Also, I have validated that the files are not bad xml.
 
Any ideas?
 
Thanks,
Scott
 
 
 
Error:
[14/Mar/2005:11:16:52] warning (28749): StandardWrapper[/dealer:dealer]: 
WEB2795: Marking servlet dealer as unavailable
[14/Mar/2005:11:16:52] failure (28749): WebModule[/dealer]: WEB2783: Servlet 
/dealer threw load() exception
javax.servlet.UnavailableException: Cannot load a validator resource from 
'/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml'
        at 
org.apache.struts.validator.ValidatorPlugIn.init(ValidatorPlugIn.java:174)
        at 
org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:839)
        at org.apache.struts.action.ActionServlet.init(ActionServlet.java:332)
        at javax.servlet.GenericServlet.init(GenericServlet.java:256)
        at 
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:921)
        at 
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:813)
        at 
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3478)
        at 
org.apache.catalina.core.StandardContext.start(StandardContext.java:3760)
        at com.iplanet.ias.web.WebModule.start(WebModule.java:251)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:652)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133)
        at 
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:355)
        at org.apache.catalina.startup.Embedded.start(Embedded.java:995)
        at com.iplanet.ias.web.WebContainer.start(WebContainer.java:431)
        at com.iplanet.ias.web.WebContainer.startInstance(WebContainer.java:500)
        at com.iplanet.ias.server.J2EERunner.confPostInit(J2EERunner.java:161)

 
validation.xml
<form-validation>
   <global>
      <constant>
        <constant-name>phone</constant-name>
        <constant-value>^\(?(\d{3})\)?[-| ]?(\d{3})[-| 
]?(\d{4})$</constant-value>
      </constant>             
      <constant>
        <constant-name>zip</constant-name>
        <constant-value>^\d{5}\d*$</constant-value>
      </constant>             
   </global>
   <formset>
      <constant>
        <constant-name>zip</constant-name>
        <constant-value>^\d{5}(-\d{4})?$</constant-value>
      </constant>             
      
      <form name="checkoutForm">
         <field 
           property="firstName"
           depends="required,mask">
           <arg0 key="label.firstName"/>           
           <var>
             <var-name>mask</var-name>
             <var-value>^[a-zA-Z]*$</var-value>
           </var>             
         </field>             
         
         <field    
           property="lastName"
           depends="required,mask,maxlength">
           <msg name="mask" key="label.lastName"/>
           <arg0 key="label.lastName"/>
           <arg1 name="maxlength" key="${var:maxlength}" resource="false"/>
           <var>
             <var-name>mask</var-name>
             <var-value>^[a-zA-Z]*$</var-value>
           </var>             
           <var>
             <var-name>maxlength</var-name>
             <var-value>15</var-value>
           </var>
         </field>                        
      
         <field 
           property="address"
           depends="required,mask">
           <arg0 key="label.address"/>
           <var>
             <var-name>mask</var-name>
             <var-value>^\w+$</var-value>
           </var>
         </field>             
         
         <field 
           property="city"
           depends="required,mask">
           <arg0 key="label.city"/>           
           <var>
             <var-name>mask</var-name>
             <var-value>^[a-zA-Z]*$</var-value>
           </var>
         </field>         
         
         <field 
           property="state"
           depends="required,mask">
           <arg0 key="label.state"/>
           <var>
      <var-name>mask</var-name>
      <var-value>^[a-zA-Z]*$</var-value>
           </var>
         </field>         
         
         <field 
           property="postalCode"
           depends="required,mask">
           <arg0 key="label.postalCode"/>
           <arg1 name="minlength" key="${var:minlength}" resource="false"/>
           <var>
             <var-name>mask</var-name>
             <var-value>${zip}</var-value>
           </var>             
         </field>         
         
         <field 
           property="country"
           depends="required,mask">
           <arg0 key="label.country"/>
           <var>
      <var-name>mask</var-name>
      <var-value>^[a-zA-Z]*$</var-value>
           </var>
         </field>         
         
         <field 
           property="phone"
           depends="required,mask">
           <arg0 key="label.phone"/>
           <arg1 name="minlength" key="${var:minlength}" resource="false"/>
           <var>
             <var-name>mask</var-name>
             <var-value>${phone}</var-value>
           </var>
         </field>         
      </form>            
   </formset>   
</form-validation>


Scott K Purcell | Developer | VERTIS | 
555 Washington Ave. 4th Floor | St. Louis, MO 63101 | 
314.588.0720 Ext:1320 | [EMAIL PROTECTED] | http://www.vertisinc.com 
<http://www.vertisinc.com/>  

Vertis is the premier provider of targeted advertising, media, and 
marketing services that drive consumers to marketers more effectively. 
                                                 

 

Reply via email to