Something to try.
In your struts-config.xml set validate="false", that seems to work better
for some reason. Everything else looks good.
Hope this helps,
Kent
-----Original Message-----
From: Ho Soo Aun [mailto:[EMAIL PROTECTED]]
Sent: Friday, August 17, 2001 5:01 AM
To: [EMAIL PROTECTED]
Subject: Validator::validate() reflection - null
Had I missed any step?
Been trying to implement David's Struts Validator for quite a while.
Every time I access a editmeter.jsp through an action which populate the
fields.
Tomcat 3.2.2 console show "Validator::validate() reflection - null"
twice
Enter char in int field (to be validate) is saved as '0'. No validation
was done.
There was no other error message on browser or log file.
# 1 Got Struts_Validator-20010702.jar in WEB-INF/lib
# 2 Got jakarta-regexp-1.2.jar in WEB-INF/lib
# 3 Set this in web.xml
<servlet>
<servlet-name>validator</servlet-name>
<servlet-class>com.wintecinc.struts.action.ValidatorServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/validation.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
# 4 In struts-config.xml
<action path="/editmetererror"
type="sg.com.trek.mims5.meter.MeterAction"
name="meterForm"
input="editmeter.jsp"
scope="request"
validate="true">
<forward name="success" path="/editmeter.jsp"/>
</action>
# 5 In addition to <global> setting in validation.xml
# add a form and one to test
<formset>
<form name="meterForm">
<field property="meter.meter1"
depends="required,integer">
<arg0 key="meterForm.integer.displayname"/>
</field>
</form>
</formset>
# 6 In editmeter.jsp
<html:form action="/editmetererror" name="meterForm"
type="sg.com.trek.mims5.meter.MeterForm" focus="copierid"
onsubmit="return validateMeterForm(this);">
...
<td align="right" nowrap><bean:message key="meter.label.meter1"/>:</td>
<td align="left"> <html:text name="meterForm"
property="meter.meter1" size="7" maxlength="7"/></td>
<td> </td>
</tr>
...
<td align="right" colspan="2"> <html:submit property="action"
value="Update"
onclick="bCancel=false;">ENTER</html:submit> <html:cancel
onclick="bCancel=true;javascript:window.close()"
value="Cancel">CANCEL</html:cancel></td>
# 7 In Meterform.java
import com.wintecinc.struts.action.ValidatorForm;
import sg.com.trek.mims5.business.Meter;
public final class MeterForm extends ValidatorForm implements
Serializable {
private String action = "Edit";
/**
* Member variable declaration
*/
private Meter meter = null;
public Meter getMeter() {
if ( meter == null) {
meter = new Meter();
}
return meter;
}
......
# 8 Getter and setter for field meter1 are in Meter bean
Any one help
Soo Aun