Hi,
I�m trying to do a Validator class in Struts 1.2 with J2SE 1.4.2. I
have got some sample codes, but all sample codes use Struts 1.1, and they don�t
work at Struts 1.2... Can anyone send me a sample code of a Validator Class
using Struts 1.2 ? Here�s the code that isn�t working with me:
package test.package;
import java.io.Serializable;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.validator.GenericValidator;
import org.apache.commons.validator.ValidatorAction;
import org.apache.commons.validator.util.ValidatorUtils;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.validator.Resources;
public class GenericFloatValueStrutsValidator implements Serializable {
public static boolean validateGenericFloatValue(
Object arg,
ValidatorAction va,
org.apache.commons.validator.Field field,
org.apache.struts.action.ActionMessages actionMessages,
HttpServletRequest request) {
String floatValueAsString = ValidatorUtils.getValueAsString( arg,
field.getProperty());
if (!GenericValidator.isBlankOrNull(floatValueAsString)) {
try {
if ( ( floatValueAsString.indexOf(".") !=
floatValueAsString.lastIndexOf(".") ) ||
( floatValueAsString.indexOf(",") !=
floatValueAsString.lastIndexOf(",") ) ||
( floatValueAsString.indexOf(",") != -1 &&
floatValueAsString.indexOf(".") != -1 ) ) {
actionMessages.add( field.getKey(), new
ActionMessage(field.getKey(),
Resources.getActionError(
request,
va,
field)) );
return false;
}
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
return true;
}
}
validator-rules.xml:
<validator name="genericFloatValue"
classname="test.package.GenericFloatValueStrutsValidator"
method="validateGenericFloatValue"
methodParams="java.lang.Object arg,
org.apache.commons.validator.ValidatorAction va,
org.apache.commons.validator.Field field,
org.apache.struts.action.ActionMessages actionMessages,
javax.servlet.http.HttpServletRequest request"
depends=""
msg="errors.genericFloatValue"/>
validation.xml:
<form name="/myAction">
<field property="myProperty" depends="genericFloatValue">
<arg0 key="frete.legenda.nome"/>
</field>
</form>
in the JSP file:
<logic:messagesPresent property=" myProperty ">
<bean:define id="errosMyProperty "><html:errors property=" myProperty
"/></bean:define>
<font class="txt_legenda"><%= errosMyProperty %></font>
</logic:messagesPresent>
Thanks in advance,
Sergio Stateri Jr.
[EMAIL PROTECTED]