validator struts 1.2
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
<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