You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by phillip rhodes <sp...@rhoderunner.com> on 2003/01/07 08:53:46 UTC
all validators work-except custom??
I am so frustrated, I tried to get custom validations working all evening
and now it's 2:30 am.... Please help. I would appreciate it immensely.
I have a form with many validations. All validations get called and work
fine, except for a custom validation. I get a "NoSuchMethodException" in
the console, although I do have the following.
1) \classes\com\rhoderunner\jsurvey\validators\IdenticalValidator.class
2) a method with the same signature as defined in validator-rules.
3) from the console, [INFO] ValidatorResources - -Add ValidatorAction:
identical,com.rhoderunner.jsurvey.validators.IdenticalValidator
I am using commons-validator 1.0.1
The jars from tiles-blank-struts1-1 webapp
I have tried many different versions/combos of the libraries, with no luck.
The following is my IdenticalValidator.java file, stack trace,
validator-rules.xml fragment and validation.xml fragment.
<field property="surveyUser.email"
depends="required,email,identical">
<arg0 key="registrationForm.email.displayname"/>
<var>
<var-name>secondProperty</var-name>
<var-value>emailConfirm</var-value>
</var>
</field>
20953 [HttpProcessor[8081][4]] ERROR validator.Validator - reflection: null
java.lang.NoSuchMethodException
at java.lang.Class.getMethod0(Native Method)
at java.lang.Class.getMethod(Class.java:888)
at
org.apache.commons.validator.Validator.validateFieldForRule(Validator.java:3
93)
at
org.apache.commons.validator.Validator.validateField(Validator.java:52)
at
org.apache.commons.validator.Validator.validate(Validator.java:551)
at
org.apache.struts.validator.ValidatorForm.validate(ValidatorForm.java:152)
at
org.apache.struts.action.RequestProcessor.processValidate(RequestProcssor.ja
va:902)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:245)
at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:128)
FROM validator-rules.xml:
<validator name="identical"
classname="com.rhoderunner.jsurvey.validators.IdenticalValidator"
method="validateIdentical"
methodparams="java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,
org.apache.struts.action.ActionErrors,
javax.servlet.http.HttpServletRequest,
javax.servlet.ServletContext"
depends="required"
msg="errors.identical">
</validator>
package com.rhoderunner.jsurvey.validators;
import java.io.Serializable;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.validator.*;
import org.apache.struts.action.*;
import org.apache.struts.util.StrutsValidatorUtil;
public class IdenticalValidator implements Serializable {
public static boolean validateIdentical(Object bean, ValidatorAction va,
Field field, ActionErrors
errors,
HttpServletRequest request,
javax.servlet.ServletContext
context) {
System.out.println("Hello world");
return true;
}
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>