# Form Validierung mit Struts?



## achtim (17. Feb 2005)

Hallo,
ich probiere nun schon über einen Tag an meine Problem, ich möchte eine einfach Validierung einer Formulareingabe mit Struts machen.

So sieht meine Form aus (ich benutze XDoclet):


```
/**
 * @struts:form name="jobForm"
 */
public class JobForm extends ActionForm {

//...

 public ActionErrors validate(ActionMapping arg0, HttpServletRequest arg1) {
  System.out.println("validate des jobform wird ausgefuehrt!");
  ActionErrors errors = new ActionErrors();
  errors.clear();
  //einfach mal provisorisch einen ActionError hinzufügen
  errors.add("starttime", new ActionError("Bitte geben Sie eine Startzeit ein!"));
  return errors;
 }
}
```

In meiner zugehörigen Action sieht' so aus:

```
* @struts:action path="/SaveJobAction" name="jobForm" validate="true" input="/newjob.jsp"
```

Wenn ich meine JSP (newjob.jsp) mit dem Formular aufrufe, kann ich diese abschicken und es wird auch die Validate-Funktion der JobForm Klasse ausgeführt. Dieselbe JSP-Seite wird auch wieder aufgerufen (wg. input="/newjob.jsp"), nur zeigt er mir keine Fehler an der Stelle an, wo ich "<html:errors property="starttime" />" oder "<html:errors />" in der JSP plaziert habe.

Ich habe keine Ideen mehr, woran es liegen könnte? Irgendwelche Ideen?  :?


----------



## achtim (17. Feb 2005)

:meld: 

Ups, sorry Leute, Kommando zurück! Habe den Fehler selbst gefunden:

```
new ActionError("Bitte geben Sie eine Startzeit ein!"));
```
funzt nicht, weil hier ein Resource-Bundle angegeben werde muss und er so natürlich nichts in meiner Res.properties gefunden hat!!


----------



## ak (17. Feb 2005)

Kleine Anmerkung:
So wie du deine errors.add - Methode aufrufts ist es mittlerweile deprecated (struts 1.2.4)

Mache das besser so (ein Beispiel aus meinem quelltext):

```
if(password==null||password.trim().equals("")){
      errors.add("password", new ActionMessage("userRegistration.password.problem"));
    }
```

Statt  "...new ActionError(..."  jetzt "...new ActionMessage(..."


----------

