public void validateCreditNumber(FacesContext ctx, UIComponent component, Object value)
     throws ValidatorException {
   // Only validate credit card data if user specified to use it
   CreditCardType ccType = (CreditCardType) creditCardTypeInput.getValue();
   Boolean useCC = customer.getUseCreditCard();
   if (useCC != null && useCC && ccType != null) {
     // Check credit card number
     int length;
     if (ccType == CreditCardType.CARD_A) {
       length = 4;
     } else {
       length = 5;
     }
     String ccNumber = (String) value;
     if (ccNumber != null && !ccNumber.matches("\\d{" + length + "}")) {
       FacesMessage msg =
           GuiUtil.getFacesMessage(
               ctx, FacesMessage.SEVERITY_ERROR, "validateCreditCardNumber.NUMBER", length);
       throw new ValidatorException(msg);
     }
   }
 }