code: public void validate(FacesContext facesContext,
                           UIComponent uiComponent,
                           Object value)
              throws ValidatorException
      {
          if (facesContext == null)
          {
              throw new NullPointerException("facesContext");
          }
          if (uiComponent == null)
          {
              throw new NullPointerException("uiComponent");
          }
  
          if (value == null)
          {
              return;
          }
  
          int length = value instanceof String ?
              ((String)value).length() : value.toString().length();
  
          if (_minimum != null)
          {
              if (length < _minimum.intValue())
              {
                  Object[] args = {_minimum,_MessageUtils.getLabel(facesContext, uiComponent)};
                  throw new ValidatorException(_MessageUtils.getErrorMessage(facesContext, MINIMUM_MESSAGE_ID, args));
              }
          }
  
          if (_maximum != null)
          {
              if (length > _maximum.intValue())
              {
                  Object[] args = {_maximum,_MessageUtils.getLabel(facesContext, uiComponent)};
                  throw new ValidatorException(_MessageUtils.getErrorMessage(facesContext, MAXIMUM_MESSAGE_ID, args));
              }
          }
      }
docs: VALIDATE