> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Sent: Monday, December 13, 2004 11:22 AM
> To: [EMAIL PROTECTED]
> Subject: RE: Validator upgrade?
> 
> 
> 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

It doesn't look like it's reading your xml file with the plugins in it.  I 
might put a break point in RequestProcess.processValidate and see what it's 
doing at this point to verify that Struts is reading your plugin configuration 
correctly.


>         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(ValidatorFo
> rm.java:112)
>         at 
> org.apache.struts.action.RequestProcessor.processValidate(Requ
> estProcessor.java:921)
>         at 
> org.apache.struts.action.RequestProcessor.process(RequestProce
> ssor.java:206)
>         at 
> org.apache.struts.action.ActionServlet.process(ActionServlet.j
> ava:1164)
>         at 
> org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
>         at 
> servletunit.struts.CactusStrutsTestCase.actionPerform(CactusSt
> rutsTestCase.java:537)
>         at 
> com.wf.bd.ice.creditapplication.CreditApplicationActionsTest.t
> estProductSelection(CreditApplicationActionsTest.java:135)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess
> orImpl.java:39)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth
> odAccessorImpl.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.runBareServe
> r(AbstractCactusTestCase.java:153)
>         at 
> org.apache.cactus.internal.server.AbstractWebTestCaller.doTest
> (AbstractWebTestCaller.java:119)
>         at 
> org.apache.cactus.internal.server.AbstractWebTestController.ha
> ndleRequest_aroundBody0(AbstractWebTestController.java:93)
>         at 
> org.apache.cactus.internal.server.AbstractWebTestController.ha
> ndleRequest_aroundBody1$advice(AbstractWebTestController.java:124)
>         at 
> org.apache.cactus.internal.server.AbstractWebTestController.ha
> ndleRequest(AbstractWebTestController.java)
>         at 
> org.apache.cactus.server.ServletTestRedirector.doPost_aroundBo
> dy2(ServletTestRedirector.java:101)
>         at 
> org.apache.cactus.server.ServletTestRedirector.doPost_aroundBo
> dy3$advice(ServletTestRedirector.java:124)
>         at 
> org.apache.cactus.server.ServletTestRedirector.doPost(ServletT
> estRedirector.java)
>         at 
> org.apache.cactus.server.ServletTestRedirector.doGet_aroundBod
> y0(ServletTestRedirector.java:72)
>         at  
> org.apache.cactus.server.ServletTestRedirector.doGet_aroundBod
> y1$advice(ServletTestRedirector.java:124)
>         at 
> org.apache.cactus.server.ServletTestRedirector.doGet(ServletTe
> stRedirector.java)
>         at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
>         at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>         at 
> weblogic.servlet.internal.ServletStubImpl$ServletInvocationAct
> ion.run(ServletStubImpl.java:971)
>         at 
> weblogic.servlet.internal.ServletStubImpl.invokeServlet(Servle
> tStubImpl.java:402)
>         at 
> weblogic.servlet.internal.ServletStubImpl.invokeServlet(Servle
> tStubImpl.java:305)
>         at 
> weblogic.servlet.internal.WebAppServletContext$ServletInvocati
> onAction.run(WebAppServletContext.java:6350)
>         at 
> weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authe
> nticatedSubject.java:317)
>         at 
> weblogic.security.service.SecurityManager.runAs(SecurityManage
> r.java:118)
>         at 
> weblogic.servlet.internal.WebAppServletContext.invokeServlet(W
> ebAppServletContext.java:3635)
>         at 
> weblogic.servlet.internal.ServletRequestImpl.execute(ServletRe
> questImpl.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]
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to