[Struts 1.3.8] Problème à la création d'une règle de validation
Bonjour,
Je me suis créé une règle de validation, Struts ne semble pas vouloir la tester. Dans mon exemple, seul la regle required classique est testée, pas la mienne. Quand je passe en mode débug, je vois qu'il ne passe pas dans ma regle de validation, savez vous pourquoi? Où est mon erreur?
Merci pour votre aide!
J'ai déclaré ma règle dans validators-rules.xml :
Code:
1 2 3 4 5 6 7 8 9 10
| <validator name="notFound"
classname="com.lecorre.validator.TestExist"
method="validateExist"
methodParams="java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,
org.apache.struts.action.ActionMessages,
org.apache.commons.validator.Validator,
javax.servlet.http.HttpServletRequest"
msg="errors.userNotExist"/> |
Dans validation.xml :
Code:
1 2 3 4 5 6
| <form name="login">
<field
property="login"
depends="required,notFound">
<arg key="loginForm.username"/>
</field> |
Et ma règle est la suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| public class TestExist implements Serializable {
public static boolean validateExist(Object bean, ValidatorAction va,
Field field, ActionMessages errors, Validator validator,
HttpServletRequest request){
LoginDAO lDAO = new LoginDAO();
if (lDAO.loadLogin(ValidatorUtils.getValueAsString(bean,field.getProperty()))==null)
{
ActionMessage actionMessage2 = Resources.getActionMessage(request, va, field);
ActionMessage actionMessage = actionMessage2;
errors.add(field.getKey(), actionMessage);
return false;
}
return true;
}
} |