datePattern

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hi Freunde,

verwende für die Validation einer Datumseingabe ein datePattern :

<form name="benutzerUebersichtActionForm">
<field property="tagesdatum" depends="date">
<arg0 key="error.tagesdatum"/>
<var>
<var-name>datePattern</var-name>
<var-value>dd.mm.yyyy</var-value>
</var>
</field>

im Programm wird für das Jahr, das ja mit yyyy kontrolliert werden soll, trotzdem akzeptiert, wenn ich z.Bsp:.
10.10.123 oder 10.10.1 eingebe, ich möchte aber das Jahr 4-stellig und gültig haben.
Welche datePatterns gibt es da noch, weiss das einer von euch ???

Vielen Dank und viele Grüße,
Paul.
 

Zubi81

Aktives Mitglied
Code:
// ... XML File parsen
// ... DatePattern in eine Stringvariable speichern -> String pattern = ...

String str = "10.10.123"

SimpleDateFormat formatter = new SimpleDateFormat(pattern);

formatter.setLenient(false);
Date date;

try {

  date = formatter.parse(str);
  System.out.println(formatter.format(date));

}
catch (ParseException e) {
  System.err.println("Validation nicht erfolgreich");
}

Du müsstest deine Datepatterns jedoch an SimpleDateFormat halten, also gross M für Monat und klein m für Minute.

Gruss, Thomas
 
G

Guest

Gast
Hi Thomas,

danke, werde es gleich einarbeiten...
melde mich später wieder,

Grüße,

Paul.
 
G

Guest

Gast
Hi Thomas,
bin noch nicht dazu gekommen, weil mich ein anderer Fehler plagt,

sobald der weg ist,
hörst Du wieder von mir...

Gruß,
Paul.
 
G

Guest

Gast
Hi Thomas,

klappt wunderbar, ... jedoch :::
31.02.2005 wird akzeptiert, soll aber nicht !
Welche Parser-Funktion kann ich zur Validität des Datums reinsetzen ??
Gruß,

Paul.
 

Lim_Dul

Top Contributor
Code:
formatter.setLenient(false);

Siehe auch: http://java.sun.com/j2se/1.5.0/docs/api/java/text/DateFormat.html#setLenient(boolean)
 
G

Guest

Gast
Lim_Dul hat gesagt.:
Code:
formatter.setLenient(false);

Siehe auch: http://java.sun.com/j2se/1.5.0/docs/api/java/text/DateFormat.html#setLenient(boolean)


Hi,

habe damit trotzdem den 31.02.2005 "fehlerfrei" durchgebracht ??....


Gruß,
paul.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben