# Validierung:häßliche Fehlermeldung, wie überschreibe ich sie



## Nicnac (14. Jul 2006)

Hallo zusammen,

ich habe folgendes Problem. 
Ich habe in meiner JSF-Anwendung <h:inputText...>-Felder, in die "Kommazahlen" nicht mit Komma sondern mit Punkt angegeben müssen. (Im Model habe ich für diese Felder Double-Variablen)
Gebe ich z.B. 3,7 ein bekomme ich folgende Fehlermeldung: 

"feldname" Der eingegebene Wert ist keine gültige Zahl

Jetzt möchte ich diese hässliche Fehlermeldung gerne überschreiben, weiß aber nicht wo! 

Hier ein Beispiel:


```
<h:inputText id="questionInterval" required="true" value="#{questionBean.interval}" />
```

Gebe ich z.B. 1,2 ein erscheint die erwähnte Fehlermeldung: 
"questionInterval": Der eingegebene Wert ist keine gültige Zahl.
Denn es muss mit Punkt eingegeben werden. Wo das und die Fehlermeldung festgelegt werden weiß ich allerdings nicht! 


Vielen Dank für Eure Hilfe,
N.Schweighardt


----------



## Leroy42 (14. Jul 2006)

Keine Ahnung wo die Fehlermeldung definiert wird und ob
du sie ändern kannst.

Aber warum änderst du deine Parse-Methode nicht so, daß
sie sowohl mit Punkten als auch mit Kommas klarkommt
(z.B. indem vor dem eigentlichen Parsen alle Kommas in Punkte umgewandelt werden)?


----------



## kirie (5. Dez 2006)

Hi nicnac,

hast Du noch herausgefunden, wo man diese automatische Validierung ausschalte, bzw. wenigstens beinflussen kann?

Viele Grüße,
kirie


----------



## Nicnac (5. Dez 2006)

Hallo kirie,

ich glaube nicht, ich beschäftige mich mit anderen Dingen zur Zeit und kann das auch schlecht nachsehen! Sorry!
Aber einen Konverter zu schreiben ist glaube ich die Lösung gewesen.

Sorry und viele Grüße
Nicnac


----------



## Guest (7. Mrz 2007)

Nicnac hat gesagt.:
			
		

> Gebe ich z.B. 1,2 ein erscheint die erwähnte Fehlermeldung:
> "questionInterval": Der eingegebene Wert ist keine gültige Zahl.
> Denn es muss mit Punkt eingegeben werden. Wo das und die Fehlermeldung festgelegt werden weiß ich allerdings nicht!
> 
> ...



1. Ein Resourcebundle (z.B. "customized_myfaces_de.properties") erstellen, wo Du die Werte überschreibst:

javax.faces.convert.IntegerConverter.CONVERSION        = Krasser Konvertierungsfehler
javax.faces.convert.IntegerConverter.CONVERSION_detail = Der eingegebene Wert ist keine korrekte Zahl, Mann!

Allerdings gibt es da einen ganzen Haufen von, je nachdem was genau das für ein Datentyp ist. Musst man nach obigen Schlüsseln recherchieren.

2. Den Resourcebundle in faces-config.xml bekannt machen: mit Verzeichis, aber ohne "_de.properties":


```
<faces-config>
	...
	<application>
		...
		<message-bundle>bundles.customized_myfaces</message-bundle>
		...
	</application>
	...
</faces-config>
```
Viel Glück!

Keptn Future
http://www.keptn.com


----------

