I have an input text that is mapped to a Long
property.
private Long length;
<h:inputText value="#{bean.length}" />
When I enter non-digits in that input text, I get the following conversion error:
myForm:myField: 'someText' must be a number consisting of one or more digits.
I was wondering how to customize this message to:
length must be a number greater than zero.
Either use the input component's converterMessage
attribute:
<h:inputText converterMessage="length must be a number greater than zero" />
(and don't forget to use <f:validateLongRange>
to prevent users being able to enter negative values and supply a validatorMessage
!)
Or create a properties file in the classpath which overrides the default message of the builtin JSF LongConverter
:
javax.faces.converter.LongConverter.LONG = length must be a number greater than zero
and is been registered as message bundle in faces-config.xml
:
<application>
<message-bundle>com.example.CustomMessages</message-bundle>
</application>
The above example assumes that the file name is CustomMessages.properties
and is been placed in com.example
package. You can name and place it wherever you want.
You can find an overview of all message keys like javax.faces.converter.LongConverter.LONG
and their default values in chapter 2.5.2.4 of the JSF specification which is also copypasted in this answer.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With