Class JsfLabelMessageInterpolator
- java.lang.Object
-
- org.omnifaces.validator.JsfLabelMessageInterpolator
-
- All Implemented Interfaces:
MessageInterpolator
public class JsfLabelMessageInterpolator extends Object implements MessageInterpolator
Unlike native JSF validation error messages, in a bean validation message by default the label of the component where a validation constraint violation originated from can not be displayed in the middle of a message. Using the
jakarta.faces.validator.BeanValidator.MESSAGE
bundle key such label can be put in front or behind the message, but that's it. With thisJsfLabelMessageInterpolator
a label can appear in the middle of a message, by using the special placeholder{jsf.label}
in bean validation messages.Note that Bean Validation is not only called from within JSF, and as such JSF might not be available. If JSF is not available occurrences of
{jsf.label}
will be replaced by an empty string. The user should take care that messages are compatible with both situations if needed.This message interpolator is not needed for putting a component label before or after a bean validation message. That functionality is already provided by JSF itself via the
jakarta.faces.validator.BeanValidator.MESSAGE
key in any resource bundle known to JSF.Installation
Create a
/META-INF/validation.xml
file in WAR with the following contents:<?xml version="1.0" encoding="UTF-8"?> <validation-config xmlns="http://jboss.org/xml/ns/javax/validation/configuration" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jboss.org/xml/ns/javax/validation/configuration validation-configuration-1.0.xsd" > <message-interpolator>org.omnifaces.validator.JsfLabelMessageInterpolator</message-interpolator> </validation-config>
Usage
As an example, the customization of
@Size
inValidationMessages.properties
:jakarta.validation.constraints.Size.message = The size of {jsf.label} must be between {min} and {max} characters
- Since:
- 1.5
- Author:
- Arjan Tijms
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface jakarta.validation.MessageInterpolator
MessageInterpolator.Context
-
-
Constructor Summary
Constructors Constructor Description JsfLabelMessageInterpolator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
interpolate(String messageTemplate, MessageInterpolator.Context context)
String
interpolate(String messageTemplate, MessageInterpolator.Context context, Locale locale)
-
-
-
Method Detail
-
interpolate
public String interpolate(String messageTemplate, MessageInterpolator.Context context)
- Specified by:
interpolate
in interfaceMessageInterpolator
-
interpolate
public String interpolate(String messageTemplate, MessageInterpolator.Context context, Locale locale)
- Specified by:
interpolate
in interfaceMessageInterpolator
-
-