- java.lang.Object
-
- jakarta.faces.component.UIComponent
-
- jakarta.faces.component.UIComponentBase
-
- org.omnifaces.component.validator.ValidatorFamily
-
- org.omnifaces.component.validator.ValidateMultipleFields
-
- org.omnifaces.component.validator.ValidateOrder
-
- All Implemented Interfaces:
PartialStateHolder
,StateHolder
,TransientStateHolder
,ComponentSystemEventListener
,FacesListener
,SystemEventListenerHolder
,EventListener
,MultiFieldValidator
public class ValidateOrder extends ValidateMultipleFields
The
<o:validateOrder>
validates if the values of the givenUIInput
components as specified in thecomponents
attribute are in the order as specified by thetype
attribute which accepts the following values:lt
(default): from least to greatest, without duplicates.lte
: from least to greatest, allowing duplicates (equal values next to each other).gt
: from greatest to least, without duplicates.gte
: from greatest to least, allowing duplicates (equal values next to each other).
This validator has the additional requirement that the to-be-validated values must implement
Comparable
. This validator throws anIllegalArgumentException
when one or more of the values do not implement it. Note that when this validator is placed before all of the components, then it will only compare the raw unconverted submitted string values, not the converted object values. If you need to compare by the converted object values, then you need to place this validator after all of the components.The default message is
{0}: Please fill out the values of all those fields in order
For general usage instructions, refer
ValidateMultipleFields
documentation.- Author:
- Bauke Scholtz
- See Also:
ValidateMultipleFields
,ValidatorFamily
,MultiFieldValidator
-
-
Field Summary
Fields Modifier and Type Field Description static String
COMPONENT_TYPE
The component type, which is "org.omnifaces.component.validator.ValidateOrder".-
Fields inherited from class org.omnifaces.component.validator.ValidatorFamily
COMPONENT_FAMILY
-
Fields inherited from class jakarta.faces.component.UIComponent
ATTRS_WITH_DECLARED_DEFAULT_VALUES, BEANINFO_KEY, bindings, COMPOSITE_COMPONENT_TYPE_KEY, COMPOSITE_FACET_NAME, CURRENT_COMPONENT, CURRENT_COMPOSITE_COMPONENT, FACETS_KEY, HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME, VIEW_LOCATION_KEY
-
-
Constructor Summary
Constructors Constructor Description ValidateOrder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getType()
Returns the ordering type to be used.void
setType(String type)
Sets the ordering type to be used.boolean
validateValues(FacesContext context, List<UIInput> components, List<Object> values)
Validate if all values are in specified order.-
Methods inherited from class org.omnifaces.component.validator.ValidateMultipleFields
collectComponents, collectValues, getComponents, getMessage, getShowMessageFor, isDisabled, isInvalidateAll, isValidationFailed, setComponents, setDisabled, setInvalidateAll, setMessage, setShowMessageFor, shouldInvalidateInput, showMessage, validateComponents, validateHierarchy
-
Methods inherited from class org.omnifaces.component.validator.ValidatorFamily
encodeChildren, getFamily, getRendersChildren, processDecodes, processUpdates, processValidators
-
Methods inherited from class jakarta.faces.component.UIComponentBase
addClientBehavior, addFacesListener, broadcast, clearInitialState, decode, encodeBegin, encodeEnd, findComponent, getAttributes, getChildCount, getChildren, getClientBehaviors, getClientId, getDefaultEventName, getEventNames, getFacesContext, getFacesListeners, getFacet, getFacetCount, getFacets, getFacetsAndChildren, getId, getListenersForEventClass, getParent, getPassThroughAttributes, getRenderer, getRendererType, getValueBinding, invokeOnComponent, isRendered, isTransient, markInitialState, processRestoreState, processSaveState, queueEvent, removeFacesListener, restoreAttachedState, restoreState, saveAttachedState, saveState, setId, setParent, setRendered, setRendererType, setTransient, setValueBinding, subscribeToEvent, unsubscribeFromEvent
-
Methods inherited from class jakarta.faces.component.UIComponent
encodeAll, getClientId, getCompositeComponentParent, getContainerClientId, getCurrentComponent, getCurrentCompositeComponent, getNamingContainer, getPassThroughAttributes, getResourceBundleMap, getStateHelper, getStateHelper, getTransientStateHelper, getTransientStateHelper, getValueExpression, initialStateMarked, isCompositeComponent, isInView, isVisitable, popComponentFromEL, processEvent, pushComponentToEL, restoreTransientState, saveTransientState, setInView, setValueExpression, visitTree
-
-
-
-
Field Detail
-
COMPONENT_TYPE
public static final String COMPONENT_TYPE
The component type, which is "org.omnifaces.component.validator.ValidateOrder".- See Also:
- Constant Field Values
-
-
Method Detail
-
validateValues
public boolean validateValues(FacesContext context, List<UIInput> components, List<Object> values)
Validate if all values are in specified order.- Parameters:
context
- The faces context to work with.components
- The input components whose values are to be validated.values
- The values of the input components to be validated, in the same order as the components.- Returns:
true
if validation is successful, otherwisefalse
(and thus show the message).
-
getType
public String getType()
Returns the ordering type to be used.- Returns:
- The ordering type to be used.
-
setType
public void setType(String type)
Sets the ordering type to be used.- Parameters:
type
- The ordering type to be used.
-
-