Class JsfLabelMessageInterpolator
- java.lang.Object
-
- org.omnifaces.validator.JsfLabelMessageInterpolator
-
- All Implemented Interfaces:
MessageInterpolator
public class JsfLabelMessageInterpolator extends Object implements MessageInterpolator
Unlike native Faces 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 Faces, and as such Faces might not be available. If Faces 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 Faces itself via the
jakarta.faces.validator.BeanValidator.MESSAGE
key in any resource bundle known to Faces.Installation
Create a
/META-INF/validation.xml
file in WAR with the following contents:<?xml version="1.0" encoding="UTF-8"?> <validation-config xmlns="https://jakarta.ee/xml/ns/validation/configuration" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/validation/configuration https://jakarta.ee/xml/ns/validation/validation-configuration-3.0.xsd" version="3.0" > <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
-
-