Have you looked at the validwhen rule? That can do what you want without
the need for a custom validation.
L.
grifoxx wrote:
Hi I am trying to validate to password field so I want to check if they have
the same values.
This my StrutsValidator Class:
package com.sfv;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.validator.Field;
import org.apache.commons.validator.GenericValidator;
import org.apache.commons.validator.ValidatorAction;
import org.apache.commons.validator.util.ValidatorUtils;
import org.apache.struts.action.*;
import org.apache.struts.validator.Resources;
public class StrutsValidator {
//~ Methods
================================================================
/**
* Validates that two fields match.
* @param bean
* @param va
* @param field
* @param errors
* @param request
* @return boolean
*/
public static boolean validateTwoFields(Object bean, ValidatorAction va,
Field field, ActionErrors errors,
HttpServletRequest request) {
String value = ValidatorUtils.getValueAsString(bean,
field.getProperty());
String sProperty2 = field.getVarValue("secondProperty");
String value2 = ValidatorUtils.getValueAsString(bean, sProperty2);
if (!GenericValidator.isBlankOrNull(value)) {
try {
if (!value.equals(value2)) {
errors.add(field.getKey(),
Resources.getActionError(request, va, field));
return false;
}
} catch (Exception e) {
errors.add(field.getKey(),
Resources.getActionError(request, va, field));
return false;
}
}
return true;
}
}
this is my validator rule:
<validator name="twofields"
classname="com.sfv.StrutsValidator"
method="validateTwoFields"
methodParams="java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,
org.apache.struts.action.ActionErrors,
javax.servlet.http.HttpServletRequest"
depends="required" msg="errors.twofields"/>
and this is what I have i the validation.xml file:
<formset>
<form name="/viewupdateduserpassword">
<field property="password"
depends="required, twofields">
<msg name="required"
key="errors.required"/>
<msg name="twofields"
key="errors.twofields"/>
<arg0 key="inputForm.password"/>
<arg1 key="inputForm.passwordConfirmed"
/>
<var><var-name>secondProperty</var-name><var-value>passwordConfirmed</var-value></var>
</field>
<field property="passwordConfirmed"
depends="required">
<arg0
key="inputForm.passwordConfirmed"/>
</field>
</form>
</formset>
the problem is that is not validating anything.
Can anybody has a suggestion
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]