InputField überprüfung

L

Läuschen123

Gast
Huhuh,

hab eine Frage zur Eingabe bei einem Inputfield.

Mein inputfield lässt 5 Zeichen zu. Wenn ich nun aber nur 3 Zeichen eingebe, möchte ich dass eine bestimmte Operation ausgeführt wird.

Beispiel Eingabe in einem Inputfield:


AB:CD

Nun gebe ich nur ein:

B:C

möchte aber dass nach Fokusverlust (ist alles schon eingebunden xhtml & bean) wieder im Inputfield sowas steht:

AB:CD,

sprich A und D hinzugefügt werden.

Hoffe ihr versteh was ich meine, Gruss & Danke!"
 

Templarthelast

Bekanntes Mitglied
Funktion die beim Abschicken des Formulars aufgerufen wird:

Java:
if(inputfield.size <=3) {
inputfield == "AB:CD"
return;
}
 
L

Läuschen123

Gast
Da ist ja aber wieder das Problem dass ich den String nicht einfach überschreiben kann..?
 

Templarthelast

Bekanntes Mitglied
Was denkst du was die Methode setInputField anderes macht?

Du ließt den String mit getInputField ein, bearbeitest ihn und setzt ihn wieder als Variable mit setInputField, sodass die richtige Formatierung beim User ankommt.
 

ssoul26

Bekanntes Mitglied
Wieso kannst du den String nicht einfach überschreiben?

Java:
String test = "abcdef";
test= "ghijkl";
 
L

Läuschen123

Gast
Okay, stimmt.

Das Problem ist nur, dass wenn ich zum Beispiel eine Uhrzeit eingebe:

11:11

und diese automatisch ergänzen möchte , bsp:

1:1 --> 01:10 Uhr

dann kann ich das mit der Länge vom String nicht machen, da wenn ich 1:1 eingebe der doppeltpunkt an 2er stelle steht und bei 11:11 an dritter :/ Die Uhrzeit ist ein anderes Beispiel, hab ich auch hier im Forum gesehen.. wie würde man das denn da handhaben mit dem Doppelpunkt?
 

Plopo

Bekanntes Mitglied
Mittels ".split(":")" erhälst du die Zahlen vor und nach dem ":" einzeln.
Somit kannst du diese separat prüfen und abändern.
Am Ende fügst du sie einfach wieder zusammen.
 

Templarthelast

Bekanntes Mitglied
Java:
String string = 1:1;
String teil1 = string.substring(0,string.indexof(":"));
teil1 = "0"+teil1;

String teil2 = string.substring(string.indexof(":"));
teil2 = teil2+"0";

string = teil1+":"+teil2
 
L

Läuschen123

Gast
Wie funktioniert diese split?

indexOf habe ich auch noch nicht verwendet, was macht sie genau in deinem Beispiel?
 
L

Läuschen123

Gast
@Templar

Bei deinem Beispiel ist der Doppelpunkt im string teil2 mit drin, das möchte ich ja eben nicht.
 
L

Läuschen123

Gast
Habd ie Lösung:

Java:
String b= eingabe.substring((eingabe.indexOf(":")+1));

Danke!
 

Plopo

Bekanntes Mitglied
Mit split wäre es eine elegantere Lösung.

Java:
String s = "AB:CD";
String[] splitted = s.split(":");
System.out.println(splitted[0]); // Gibt "AB" aus
System.out.println(splitted[1]); // Gibt "CD" aus.
System.out.println(splitted[0]+":"+splitted[1]); // Gibt "AB:CD" aus.
 

Ähnliche Java Themen

Neue Themen


Oben