@JSFValidator(configExcluded=true) public class ByteLengthValidator extends Object implements javax.faces.component.StateHolder, javax.faces.validator.Validator
ByteLengthValidator is a Validator that checks
 the value of the corresponding component for its byte length for the set
 character encoding. The following algorithm is implemented:
null or empty string, exit immediately.encoding and maximum property
     has been configured on this Validator, check the component
     value byte length against the maximum. If the component value byte length
     is greater than this specified maximum, throw a ValidatorException
     containing a MAXIMUM_MESSAGE_ID message.maximum property has been configured on this
     Validator, check the component value against
     this limit defaulting the encoding to be iso-8859-1.
     If the component value length is greater than the specified maximum,
     throw a ValidatorException containing a MAXIMUM_MESSAGE_ID
     message.encoding property has been configured on this
     Validator, and if it is not a valid Java encoding, then throws a
     IllegalCharsetNameExceptionmaximumMessageDetail is set, it is used for constructing
     faces message, when validation fails. The message can contain placeholders
     which will be replaced as specified in MAXIMUM_MESSAGE_ID
 setMessageDetailMaximum(String)| Modifier and Type | Field and Description | 
|---|---|
| static String | MAXIMUM_MESSAGE_IDThe message identifier of the  FacesMessageto be created if
 the maximum byte length check fails. | 
| static String | VALIDATOR_IDStandard validator id for this validator. | 
| Constructor and Description | 
|---|
| ByteLengthValidator()Construct a  Validatorwithiso-8859-1as the encoding
 andzeroas the maximum bytes allowed. | 
| ByteLengthValidator(int maximum,
                   String encoding)Construct a  Validatorwith the specified preconfigured
 values. | 
| Modifier and Type | Method and Description | 
|---|---|
| boolean | equals(Object object)Compares this ByteLengthValidator with the specified Object for
 equality. | 
| String | getEncoding()Return the character encoding set for this  Validatororiso-8859-1if it has not been set. | 
| String | getHintMaximum()Return custom hint message. | 
| protected javax.faces.application.FacesMessage | getLengthValidationFailureMessage(javax.faces.context.FacesContext context,
                                 javax.faces.component.UIComponent component,
                                 String value)The  FacesMessageto be returned if byte length validation fails. | 
| int | getMaximum()Return the maximum bytes to be enforced by this  Validatororzeroif it has not been
 set. | 
| String | getMessageDetailMaximum()Return custom detail error message that was set for creating  FacesMessage,
 for values that exceeds the maximum byte length. | 
| javax.faces.el.ValueBinding | getValueBinding(String name)Deprecated.   | 
| javax.el.ValueExpression | getValueExpression(String name)Return the  ValueExpressionused to calculate the value for the
 specified attribute name, if any. | 
| int | hashCode()Returns the hash code for this Validator. | 
| boolean | isDisabled()Return whether it is disabled. | 
| boolean | isTransient() | 
| void | restoreState(javax.faces.context.FacesContext context,
            Object state) | 
| Object | saveState(javax.faces.context.FacesContext context) | 
| void | setDisabled(boolean isDisabled)Set the value to property  disabled. | 
| void | setEncoding(String encoding)Set the character encoding for this  Validator. | 
| void | setHintMaximum(String hintMaximum)Custom hint message. | 
| void | setMaximum(int maximum)Set the maximum bytes to be enforced by this  Validator. | 
| void | setMessageDetailMaximum(String maximumMessageDetail)Custom error message to be used, for creating detail part of the
  FacesMessage,  when users input exceeds the maximum byte length. | 
| void | setTransient(boolean transientValue) | 
| void | setValueBinding(String name,
               javax.faces.el.ValueBinding binding)Deprecated.   | 
| void | setValueExpression(String name,
                  javax.el.ValueExpression expression)Set the  ValueExpressionused to calculate the value for the
 specified attribute if any. | 
| void | validate(javax.faces.context.FacesContext context,
        javax.faces.component.UIComponent component,
        Object value)Validates unless it is too long, in which case throws
 ValidatorException. | 
public static final String MAXIMUM_MESSAGE_ID
The message identifier of the FacesMessage to be created if
 the maximum byte length check fails.  The message format string for this
 message may optionally include  {0}, {1} and
 {2} placeholders, which will be replaced by input value, label
 associated with the component and the maximum bytes respectively.
public static final String VALIDATOR_ID
Standard validator id for this validator.
public ByteLengthValidator()
Construct a Validator with iso-8859-1 as the encoding
 and zero as the maximum bytes allowed.
public ByteLengthValidator(int maximum,
                   String encoding)
Construct a Validator with the specified preconfigured
 values.
maximum - the maximum number of bytes allowed.encoding - the Java character set encoding. This must be
        an encoding supported by Java.public void setEncoding(String encoding)
Set the character encoding for this Validator.
encoding - The character encoding.@JSFProperty(defaultValue="iso-8859-1") public String getEncoding()
Return the character encoding set for this Validator or
 iso-8859-1 if it has not been set.
public void setMaximum(int maximum)
Set the maximum bytes to be enforced by this Validator.
maximum - The new maximum value@JSFProperty public int getMaximum()
Return the maximum bytes to be enforced by this Validator or zero if it has not been
 set.
public void setMessageDetailMaximum(String maximumMessageDetail)
Custom error message to be used, for creating detail part of the
 FacesMessage,  when users input exceeds the maximum byte length.
MAXIMUM_MESSAGE_IDmaximumMessageDetail - Custom error message.@JSFProperty public String getMessageDetailMaximum()
Return custom detail error message that was set for creating FacesMessage,
 for values that exceeds the maximum byte length.
setMessageDetailMaximum(String)public void setHintMaximum(String hintMaximum)
Custom hint message.
Overrides default hint messagehintMaximum - Custom hint message.@JSFProperty(tagExcluded=true) public String getHintMaximum()
Return custom hint message.
setHintMaximum(String)public void validate(javax.faces.context.FacesContext context,
            javax.faces.component.UIComponent component,
            Object value)
              throws javax.faces.validator.ValidatorException
Validates unless it is too long, in which case throws ValidatorException.
validate in interface javax.faces.validator.Validatorjavax.faces.validator.ValidatorException - if validation failsNullPointerException - if contextIllegalCharsetNameException - if encoding isIllegalArgumentException - if value is not of type
            String
 unsupported
  or component is nullpublic Object saveState(javax.faces.context.FacesContext context)
saveState in interface javax.faces.component.StateHolderpublic void restoreState(javax.faces.context.FacesContext context,
                Object state)
restoreState in interface javax.faces.component.StateHolder@JSFProperty(istransient=true,
             tagExcluded=true)
public boolean isTransient()
isTransient in interface javax.faces.component.StateHolderpublic void setTransient(boolean transientValue)
setTransient in interface javax.faces.component.StateHolderpublic void setValueExpression(String name, javax.el.ValueExpression expression)
Set the ValueExpression used to calculate the value for the
 specified attribute if any.
name - Name of the attribute for which to set a ValueExpressionexpression - The ValueExpression to set, or null
  to remove any currently set ValueExpressionNullPointerException - if name
  is nullIllegalArgumentException - if name is not a valid
            attribute of this converterpublic javax.el.ValueExpression getValueExpression(String name)
Return the ValueExpression used to calculate the value for the
 specified attribute name, if any.
name - Name of the attribute or property for which to retrieve a
  ValueExpressionNullPointerException - if name
  is nullIllegalArgumentException - if name is not a valid
 attribute of this converterpublic void setValueBinding(String name, javax.faces.el.ValueBinding binding)
Set the ValueBinding used to calculate the value for the
 specified attribute if any.
name - Name of the attribute for which to set a ValueBindingbinding - The ValueBinding to set, or null
  to remove any currently set ValueBindingNullPointerException - if name
  is nullIllegalArgumentException - if name is not a valid
            attribute of this validatorpublic javax.faces.el.ValueBinding getValueBinding(String name)
Return the ValueBinding used to calculate the value for the
 specified attribute name, if any.
name - Name of the attribute or property for which to retrieve a
  ValueBindingNullPointerException - if name
  is nullIllegalArgumentException - if name is not a valid
 attribute of this validatorpublic boolean equals(Object object)
Compares this ByteLengthValidator with the specified Object for equality.
public int hashCode()
Returns the hash code for this Validator.
public void setDisabled(boolean isDisabled)
Set the value to property disabled. Default value is false.
isDisabled - true if it's disabled, false otherwise.public boolean isDisabled()
protected javax.faces.application.FacesMessage getLengthValidationFailureMessage(javax.faces.context.FacesContext context,
                                                                     javax.faces.component.UIComponent component,
                                                                     String value)
FacesMessage to be returned if byte length validation fails.context - Faces contextvalue - The value entered / set by the user on the componentCopyright © 2001-2017 The Apache Software Foundation. All Rights Reserved.