问题
Does anyone know where I can get a list of the converters used by JSF so I can set a custom message for them in the resource bundle?
回答1:
You can find them all in chapter 2.5.2.4 of the JSF specification. Here's an extract of relevance:
- javax.faces.component.UIInput.CONVERSION -- {0}: Conversion error occurred
- javax.faces.converter.BigDecimalConverter.DECIMAL={2}: ''{0}'' must be a signed decimal number.
- javax.faces.converter.BigDecimalConverter.DECIMAL_detail={2}: ''{0}'' must be a signed decimal number consisting of zero or more digits, that may be followed by a decimal point and fraction. Example: {1}
- javax.faces.converter.BigIntegerConverter.BIGINTEGER={2}: ''{0}'' must be a number consisting of one or more digits.
- javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail={2}: ''{0}'' must be a number consisting of one or more digits. Example: {1}
- javax.faces.converter.BooleanConverter.BOOLEAN={1}: ''{0}'' must be 'true' or 'false'.
- javax.faces.converter.BooleanConverter.BOOLEAN_detail={1}: ''{0}'' must be 'true' or 'false'. Any value other than 'true' will evaluate to 'false'.
- javax.faces.converter.ByteConverter.BYTE={2}: ''{0}'' must be a number between 0 and 255.
- javax.faces.converter.ByteConverter.BYTE_detail={2}: ''{0}'' must be a number between 0 and 255. Example: {1}
- javax.faces.converter.CharacterConverter.CHARACTER={1}: ''{0}'' must be a valid character.
- javax.faces.converter.CharacterConverter.CHARACTER_detail={1}: ''{0}'' must be a valid ASCII character.
- javax.faces.converter.DateTimeConverter.DATE={2}: ''{0}'' could not be understood as a date.
- javax.faces.converter.DateTimeConverter.DATE_detail={2}: ''{0}'' could not be understood as a date. Example: {1} Chapter 2 Request Processing Lifecycle 2-19
- javax.faces.converter.DateTimeConverter.TIME={2}: ''{0}'' could not be understood as a time.
- javax.faces.converter.DateTimeConverter.TIME_detail={2}: ''{0}'' could not be understood as a time. Example: {1}
- javax.faces.converter.DateTimeConverter.DATETIME={2}: ''{0}'' could not be understood as a date and time.
- javax.faces.converter.DateTimeConverter.DATETIME_detail={2}: ''{0}'' could not be understood as a date and time. Example: {1}
- javax.faces.converter.DateTimeConverter.PATTERN_TYPE={1}: A 'pattern' or 'type' attribute must be specified to convert the value ''{0}''.
- javax.faces.converter.DoubleConverter.DOUBLE={2}: ''{0}'' must be a number consisting of one or more digits.
- javax.faces.converter.DoubleConverter.DOUBLE_detail={2}: ''{0}'' must be a number between 4.9E-324 and 1.7976931348623157E308 Example: {1}
- javax.faces.converter.EnumConverter.ENUM={2}: ''{0}'' must be convertible to an enum.
- javax.faces.converter.EnumConverter.ENUM_detail={2}: ''{0}'' must be convertible to an enum from the enum that contains the constant ''{1}''.
- javax.faces.converter.EnumConverter.ENUM_NO_CLASS={1}: ''{0}'' must be convertible to an enum from the enum, but no enum class provided.
- javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail={1}: ''{0}'' must be convertible to an enum from the enum, but no enum class provided.
- javax.faces.converter.FloatConverter.FLOAT={2}: ''{0}'' must be a number consisting of one or more digits.
- javax.faces.converter.FloatConverter.FLOAT_detail={2}: ''{0}'' must be a number between 1.4E-45 and 3.4028235E38 Example: {1}
- javax.faces.converter.IntegerConverter.INTEGER={2}: ''{0}'' must be a number consisting of one or more digits.
- javax.faces.converter.IntegerConverter.INTEGER_detail={2}: ''{0}'' must be a number between -2147483648 and 2147483647 Example: {1}
- javax.faces.converter.LongConverter.LONG={2}: ''{0}'' must be a number consisting of one or more digits.
- javax.faces.converter.LongConverter.LONG_detail={2}: ''{0}'' must be a number between -9223372036854775808 to 9223372036854775807 Example: {1}
- javax.faces.converter.NumberConverter.CURRENCY={2}: ''{0}'' could not be understood as a currency value.
- javax.faces.converter.NumberConverter.CURRENCY_detail={2}: ''{0}'' could not be understood as a currency value. Example: {1}
- javax.faces.converter.NumberConverter.PERCENT={2}: ''{0}'' could not be understood as a percentage.
- javax.faces.converter.NumberConverter.PERCENT_detail={2}: ''{0}'' could not be understood as a percentage. Example: {1}
- javax.faces.converter.NumberConverter.NUMBER={2}: ''{0}'' is not a number.
- javax.faces.converter.NumberConverter.NUMBER_detail={2}: ''{0}'' is not a number. Example: {1}
- javax.faces.converter.NumberConverter.PATTERN={2}: ''{0}'' is not a number pattern.
- javax.faces.converter.NumberConverter.PATTERN_detail={2}: ''{0}'' is not a number pattern. Example: {1}
- javax.faces.converter.ShortConverter.SHORT={2}: ''{0}'' must be a number consisting of one or more digits.
- javax.faces.converter.ShortConverter.SHORT_detail={2}: ''{0}'' must be a number between -32768 and 32767 Example: {1}
- javax.faces.converter.STRING={1}: Could not convert ''{0}'' to a string.
You can also find them in javax.faces.Messages
properties file in the JSF API JAR file. That's easier copying and editing :)
回答2:
If you are asking about the conversion/validation error messages then you can just specify custom messages in your .properties file for the message bundle you have specified .
ex:-
javax.faces.component.UIInput.CONVERSION=''{0}'' my error
Is this what you are after?
来源:https://stackoverflow.com/questions/3092267/jsf-converter-resource-bundle-messages