here is the error I get each time (the original code is below in this thread):
=======================================

2004-12-10 15:12:08,998 ERROR [ExecuteThread: '8' for queue:
'weblogic.kernel.Default'] validator.ValidatorForm
(ValidatorForm.java:114) - No ValidatorActio n named isequalif found for
field businessLineSelected
org.apache.commons.validator.ValidatorException: No ValidatorAction named
isequalif found for field businessLineSelected
        at 
org.apache.commons.validator.Field.handleMissingAction(Field.java:911)
        at org.apache.commons.validator.Field.validate(Field.java:886)
        at org.apache.commons.validator.Form.validate(Form.java:174)
        at org.apache.commons.validator.Validator.validate(Validator.java:367)
        at 
org.apache.struts.validator.ValidatorForm.validate(ValidatorForm.java:112)
        at 
org.apache.struts.action.RequestProcessor.processValidate(RequestProcessor.java:921)
        at 
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:206)
        at 
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
        at 
servletunit.struts.CactusStrutsTestCase.actionPerform(CactusStrutsTestCase.java:537)
        at 
com.wf.bd.ice.creditapplication.CreditApplicationActionsTest.testProductSelection(CreditApplicationActionsTest.java:135)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at junit.framework.TestCase.runTest(TestCase.java:154)
        at junit.framework.TestCase.runBare(TestCase.java:127)
        at 
org.apache.cactus.internal.AbstractCactusTestCase.runBareServer(AbstractCactusTestCase.java:153)
        at 
org.apache.cactus.internal.server.AbstractWebTestCaller.doTest(AbstractWebTestCaller.java:119)
        at 
org.apache.cactus.internal.server.AbstractWebTestController.handleRequest_aroundBody0(AbstractWebTestController.java:93)
        at 
org.apache.cactus.internal.server.AbstractWebTestController.handleRequest_aroundBody1$advice(AbstractWebTestController.java:124)
        at 
org.apache.cactus.internal.server.AbstractWebTestController.handleRequest(AbstractWebTestController.java)
        at 
org.apache.cactus.server.ServletTestRedirector.doPost_aroundBody2(ServletTestRedirector.java:101)
        at 
org.apache.cactus.server.ServletTestRedirector.doPost_aroundBody3$advice(ServletTestRedirector.java:124)
        at 
org.apache.cactus.server.ServletTestRedirector.doPost(ServletTestRedirector.java)
        at 
org.apache.cactus.server.ServletTestRedirector.doGet_aroundBody0(ServletTestRedirector.java:72)
        at  
org.apache.cactus.server.ServletTestRedirector.doGet_aroundBody1$advice(ServletTestRedirector.java:124)
        at 
org.apache.cactus.server.ServletTestRedirector.doGet(ServletTestRedirector.java)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at 
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
        at 
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
        at 
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
        at 
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6350)
        at 
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
        at 
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
        at 
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635)
        at 
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
        at  weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)



--------------------
Mick Knutson
Wells Fargo Business Direct
(415) 222-1020

"This message may contain confidential and/or privileged information. If you 
are not the addressee or authorized to receive this for the addressee, you must 
not use, copy, disclose, or take any action based on this message or any 
information herein. If you have received this message in error, please advise 
the sender immediately by reply e-mail and delete this message. Thank you for 
your cooperation."
--------------------



-----Original Message-----
From: Jim Barrows [mailto:[EMAIL PROTECTED]
Sent: Monday, December 13, 2004 10:19 AM
To: Struts Users Mailing List
Subject: RE: Validator upgrade?


> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Sent: Friday, December 10, 2004 3:42 PM
> To: [EMAIL PROTECTED]
> Subject: Validator upgrade?
> 
> 
> with the new struts 1.2.4 upgrade, I started to change all 
> the <arg0 ...> to <arg position="0"...> but find that my 
> custom validators are not being found.
> 1. Is there a doc on upgrading the validator?
> 2. Anyone ever heard of this happening?

I believe requiredif is being deprecated in favor of validwhen.  However, the 
only reference I see is the key you are using, so that may not be valid.

http://struts.apache.org/userGuide/dev_validator.html

Other then that, everything else looks okay.  Do you have a specific error 
you're getting?



> 
> Here is  my <form> validator:
> ==========================
>                       <field property="businessLineSelected" 
> depends="isequalif">
>                               <msg name="isequalif" 
> key="requiredif.productSelectionRequired"/>
>                               <arg position="0" 
> key="form.businessLineSelected"/>
>                               <var>
>                                       
> <var-name>thisValue[0]</var-name>
>                                       <var-value>true</var-value>
>                               </var>
>                               <var>
>                                       <var-name>field[0]</var-name>
>                                       
> <var-value>businessCardSelected</var-value>
>                               </var>
>                               <var>
>                                       
> <var-name>fieldTest[0]</var-name>
>                                       <var-value>EQUAL</var-value>
>                               </var>
>                               <var>
>                                       
> <var-name>fieldValue[0]</var-name>
>                                       <var-value>false</var-value>
>                               </var>
>                               <var>
>                                       <var-name>field[1]</var-name>
>                                       
> <var-value>businessSecuredCardSelected</var-value>
>                               </var>
>                               <var>
>                                       
> <var-name>fieldTest[1]</var-name>
>                                       <var-value>EQUAL</var-value>
>                               </var>
>                               <var>
>                                       
> <var-name>fieldValue[1]</var-name>
>                                       <var-value>false</var-value>
>                               </var>
>                               <var>
>                                       <var-name>field[2]</var-name>
>                                       
> <var-value>equipmentExpressSelected</var-value>
>                               </var>
>                               <var>
>                                       
> <var-name>fieldTest[2]</var-name>
>                                       <var-value>EQUAL</var-value>
>                               </var>
>                               <var>
>                                       
> <var-name>fieldValue[2]</var-name>
>                                       <var-value>false</var-value>
>                               </var>
>                               <var>
>                                       <var-name>fieldJoin</var-name>
>                                       <var-value>AND</var-value>
>                               </var>
>                       </field>
> 
> And here is my custom validator:
> ===========================      <validator name="isequalif"
>                  
> classname="com.wf.bd.ice.rules.validation.ICEFieldChecks"
>                  method="validateIsEqualIf"
>                  methodParams="java.lang.Object,
>                                
> org.apache.commons.validator.ValidatorAction,
>                                org.apache.commons.validator.Field,
>                                
> org.apache.struts.action.ActionMessages,
>                                org.apache.commons.validator.Validator,
>                                javax.servlet.http.HttpServletRequest"
>                  msg="isequalif.default">
>       </validator>
> 
> 
> and here is the method in our ICEFieldChecks:
> ===================================
> 
>     public static boolean validateIsEqualIf(
>         Object bean, ValidatorAction va, Field field, 
> ActionMessages errors,
>         org.apache.commons.validator.Validator validator,
>         HttpServletRequest request
>     ) {
>         Object form =
>             validator.getResource(
>                 org.apache.commons.validator.Validator.BEAN_KEY
>             );
>         String value = null;
> 
>         if(isString(bean)) {
>             value = (String) bean;
>         } else {
>             value = ValidatorUtil.getValueAsString(bean, 
> field.getProperty());
>         }
> 
>         if(value == null) {
>             value = "";
>         }
> 
>         boolean required = false;
>         java.util.Collection theseValues = new ArrayList();
> 
>         int j = 0;
> 
>         while(
>             !GenericValidator.isBlankOrNull(
>                     field.getVarValue("thisValue[" + j + "]")
>                 )
>         ) {
>             theseValues.add(field.getVarValue("thisValue[" + 
> j++ + "]"));
>         }
> 
>         if(theseValues.isEmpty()) {
>             return true;
>         }
> 
>         int i = 0;
>         String fieldJoin = "AND";
> 
>         
> if(!GenericValidator.isBlankOrNull(field.getVarValue("fieldJoin"))) {
>             fieldJoin = field.getVarValue("fieldJoin");
>         }
> 
>         if(fieldJoin.equalsIgnoreCase("AND")) {
>             required = true;
>         }
> 
>         while(
>             !GenericValidator.isBlankOrNull(
>                     field.getVarValue("field[" + i + "]")
>                 )
>         ) {
>             String dependProp = field.getVarValue("field[" + i + "]");
>             String dependTest = 
> field.getVarValue("fieldTest[" + i + "]");
>             String dependTestValue = 
> field.getVarValue("fieldValue[" + i + "]");
>             String dependIndexed = 
> field.getVarValue("fieldIndexed[" + i + "]");
> 
>             if(dependIndexed == null) {
>                 dependIndexed = "false";
>             }
> 
>             String dependVal = null;
>             boolean thisRequired = false;
> 
>             if(field.isIndexed() && 
> dependIndexed.equalsIgnoreCase("true")) {
>                 String key = field.getKey();
> 
>                 if((key.indexOf("[") > -1) && 
> (key.indexOf("]") > -1)) {
>                     String ind = key.substring(0, 
> key.indexOf(".") + 1);
>                     dependProp = ind + dependProp;
>                 }
>             }
> 
>             dependVal = ValidatorUtil.getValueAsString(form, 
> dependProp);
> 
>             if(dependTest.equals(FIELD_TEST_NULL)) {
>                 if((dependVal != null) && (dependVal.length() > 0)) {
>                     thisRequired = false;
>                 } else {
>                     thisRequired = true;
>                 }
>             }
> 
>             if(dependTest.equals(FIELD_TEST_NOTNULL)) {
>                 if((dependVal != null) && (dependVal.length() > 0)) {
>                     thisRequired = true;
>                 } else {
>                     thisRequired = false;
>                 }
>             }
> 
>             if(dependTest.equals(FIELD_TEST_EQUAL)) {
>                 thisRequired = 
> dependTestValue.equalsIgnoreCase(dependVal);
>             }
> 
>             if(fieldJoin.equalsIgnoreCase("AND")) {
>                 required = required && thisRequired;
>             } else {
>                 required = required || thisRequired;
>             }
> 
>             i++;
>         }
> 
>         if(required) {
>             if(!theseValues.contains(value)) {
>                 errors.add(
>                     field.getKey(), Resources.getActionMessage(
>                         request, va, field
>                     )
>                 );
> 
>                 return false;
>             } else {
>                 return true;
>             }
>         }
> 
>         return true;
>     }
> 
> 
> 
> 
> --------------------
> Mick Knutson
> Wells Fargo Business Direct Information Systems
> (415) 222-1020
> 
> "This message may contain confidential and/or privileged 
> information. If you are not the addressee or authorized to 
> receive this for the addressee, you must not use, copy, 
> disclose, or take any action based on this message or any 
> information herein. If you have received this message in 
> error, please advise the sender immediately by reply e-mail 
> and delete this message. Thank you for your cooperation."
> --------------------
> 
> 
> 
> ---------------------------------------------------------------------
> 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]
> 
> 

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