code: @Override
  	public boolean isValid(Object value, ConstraintValidatorContext constraintContext) {
  		
  		// Si la liste des valeurs permisse est vide : true
  		if(values == null || values.length == 0) return true;
  		
  		// Si l'objet est null : false
  		if(value == null) return false;
  		
  		// Si l'objet est une chaine
  		if(value instanceof String) {
  
  			// On caste
  			String stringValue = ((String) value).trim();
  			
  			// Si la chaîne est vide : false
  			if(stringValue.length() == 0) return false;
  			
  			// Si on compare avec casse
  			if(caseSensitive) {
  
  				// On recherche la valeur
  				for (String authValue : values) {
  					
  					// Si la valeur est hors des valeurs prescrites
  					if(!stringValue.equals(authValue.trim())) return false;
  				}
  				
  			} else {
  
  				// On recherche la valeur
  				for (String authValue : values) {
  					
  					// Si la valeur est hors des valeurs prescrites
  					if(!stringValue.equalsIgnoreCase(authValue.trim())) return false;
  				}
  			}
  			
  		} else {
  
  			// On recherche la valeur
  			for (Object authValue : values) {
  				
  				// Si la valeur est hors des valeurs prescrites
  				if(!value.equals(authValue)) return false;
  			}
  			
  		}
  		
  		// On retourne false
  		return true;
  	}
docs: /*
  (non-Javadoc)
  @see javax.validation.ConstraintValidator#isValid(java.lang.Object, javax.validation.ConstraintValidatorContext)