Si más o menos entendía lo que hace. Busqué en internet porque en mi formulario tenía dos botones (uno para enviar el formulario de alta y el otro para comprobar si el login esta disponible) y lo uso así (ten en cuenta que uso struts)
Esto va en el Action
Código PHP:
public class AltaAction extends LookupDispatchAction{
protected Map getKeyMethodMap() {
log.debug("::::::::::Entro para comprobar los botones");
// TODO Auto-generated method stub
Map map = new HashMap();
map.put("button.comprobar", "comprobar");
map.put("button.guardar", "add");
return map;
}
public ActionForward comprobar(ActionMapping mapping,ActionForm form,HttpServletRequest request, HttpServletResponse response)
{
//aquí compruebo lo del alias
}
public ActionForward add(ActionMapping mappings, ActionForm form, HttpServletRequest request, HttpServletResponse response)
{
//aquí hago el alta del usuario
}
}
Para que se pueda diferenciar los botones en el struts-config hay un parametro que hay que rellenar
El problema lo tengo en que para entrar en el action, primero pasa por el Form y realiza la comprobación de errores de los campos, por lo tanto si no he rellenado más que el campo del alias y le doy a comprobar alias, entra en el form y me pone los errores porque no están todos los datos completados.
Si tengo todos los campos obligatorios rellenos, me lo hace perfectamente, si le doy al comprobar comprueba y si le doy a añadir añade
Pero no sé como solucionarlo sin tener que cambiar la comprobación de errores al Action