DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://issues.apache.org/bugzilla/show_bug.cgi?id=27910>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=27910 java.lang.NullPointerException at org.apache.struts.validator.ValidatorForm.validate(ValidatorForm.java:143) Summary: java.lang.NullPointerException at org.apache.struts.validator.ValidatorForm.validate(Valid atorForm.java:143) Product: Struts Version: 1.1 Final Platform: Other URL: http://cvs.apache.org/viewcvs.cgi/jakarta- struts/src/share/org/apache/struts/validator/ValidatorFo rm.java?rev=1.13&view=markup OS/Version: Other Status: NEW Severity: Enhancement Priority: Other Component: Validator Framework AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] In my multi-step form wizard, hidden form fields may be a bad idea for security reasons. Therefore, I keep a copy of the form in the session and incrementally add the values gathered from the browser. There arose even a scenario where it was advisable to set some values in that form even without first doing a PropertyUtils.copyProperties from a form coming from a browser. A subsequent .validate() then causes the above nullPointer exception. Suggestion: When doing the ServletContext application = getServlet().getServletContext(); in the ValidatorForm, first test whether the "getServlet()" really returns other than null and otherwise return a decent error message. I am not fully clear why the problem arises, but I guess that ValidatorForm() not having a constructor method is part of the reason for this. Anyway, I got it working by extending my form as follows: public class MyForm extends ValidatorForm public MyForm() { super(); } public MyForm(ActionServlet servlet) { this(); if (super.getServlet() == null) { if (servlet == null) { log.error("servlet == null"); } else { super.setServlet(servlet); log.debug("set servlet: " + servlet); } } else { log.debug("super.getServlet(): " + super.getServlet()); } when creating the form, I call it with MyForm myForm = new MyForm(getServlet()); --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]