Enviado por Alberto el día 11 de abril de 2006
Para el validator he aplicado los siguientes pasos he definido el plugin validator en el struts-config.xml,
<action-mappings>
<action name=\"GetNameForm\" path=\"/greeting\" scope=\"request\" type=\"demo.GreetingAction\" validate=\"true\">
<forward name=\"sayhello\" path=\"/pages/greeting.jsp\"/>
</action>
</action-mappings>
<controller/>
<plug-in className=\"org.apache.struts.validator.ValidatorPlugIn\">
<set-property property=\"pathnames\" value=\"/WEB-INF/validator-rules.xml,
/WEB-INF/validation.xml\"/>
</plug-in>
He extendido el form de validator form::
public class GetNameForm extends ValidatorForm {
private String name=\"\";
public GetNameForm() {
}
public void reset(ActionMapping actionMapping, HttpServletRequest request) {
this.name=\"\";
}
public ActionErrors validate(ActionMapping actionMapping, HttpServletRequest request) {
ActionErrors errs = new ActionErrors();
String mensaje=\"\";
ActionMessage oActionMessage;
if (GenericValidator.isBlankOrNull(request.getParameter(\"name\"))){
oActionMessage= new ActionMessage(\"No sale nada en Nombre\");
errs.add(mensaje, oActionMessage);
}
System.out.println(\"Entrando por el validate\"+errs.toString()+errs.size());
// return errs;
return super.validate(actionMapping, request);
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = (name==null?\"\":name);
}
}
el validation xml es el siguiente
<form-validation>
<formset>
<form name=\"GetNameForm\">
<field depends=\"required\" property=\"name\">
<arg key=\"app.name\" position=\"0\"/>
</field>
</form>
</formset>
</form-validation>
he añadido <html:errors/> a la pagina de input
<%@ taglib uri=\"/WEB-INF/struts-html\" prefix=\"html\" %>
<html:html>
<head>
<title>KickStart: Input name</title>
</head>
<body>
<html:errors/>
<html:form action=\"/greeting.do\">
<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
<tr>
<td><b>Input name:</b></td>
</tr>
<tr>
<td>
<html:text property=\"name\" />
<html:submit value=\" Say Hello! \" />
</td>
</tr>
</table>
</html:form>
</body>
</html:html>
Y no funciona en struts 1.2 alguien tiene alguna idea por q estoy desesperado y si en el 1.1