{
//////////////////////////////////////////////////////////////////////////
// Kontoinhaber
String name = this.getName();
if (name == null || name.length() == 0)
throw new ApplicationException(i18n.tr("Bitte geben Sie einen Namen ein."));
HBCIProperties.checkLength(name, HBCIProperties.HBCI_TRANSFER_NAME_MAXLENGTH);
//
//////////////////////////////////////////////////////////////////////////
boolean haveAccount = false;
//////////////////////////////////////////////////////////////////////////
// Deutsche Bankverbindung
String kn = this.getKontonummer();
if (kn != null && kn.length() > 0)
{
HBCIProperties.checkChars(kn, HBCIProperties.HBCI_KTO_VALIDCHARS);
HBCIProperties.checkLength(kn, HBCIProperties.HBCI_KTO_MAXLENGTH_SOFT);
String blz = this.getBlz();
if (blz == null || blz.length() == 0)
throw new ApplicationException(i18n.tr("Bitte geben Sie eine BLZ ein."));
// BUGZILLA 280
HBCIProperties.checkChars(blz, HBCIProperties.HBCI_BLZ_VALIDCHARS);
// Nur pruefen, wenn ungueltige Bankverbindungen im Adressbuch erlaubt sind
if (!Settings.getKontoCheckExcludeAddressbook() && !HBCIProperties.checkAccountCRC(blz,kn))
throw new ApplicationException(i18n.tr("Ung�ltige BLZ/Kontonummer. Bitte pr�fen Sie Ihre Eingaben."));
haveAccount = true;
}
//
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
// Auslaendische Bankverbindung
String iban = this.getIban();
String bic = this.getBic();
String bank = this.getBank();
if (iban != null && iban.length() > 0)
{
HBCIProperties.checkLength(iban, HBCIProperties.HBCI_IBAN_MAXLENGTH);
HBCIProperties.checkChars(iban, HBCIProperties.HBCI_IBAN_VALIDCHARS);
HBCIProperties.getIBAN(iban);
haveAccount = true;
}
if (bic != null && bic.length() > 0)
{
HBCIProperties.checkBIC(bic);
}
if (bank != null && bank.length() > 0)
{
HBCIProperties.checkLength(bank, HBCIProperties.HBCI_FOREIGNTRANSFER_USAGE_MAXLENGTH);
}
//
//////////////////////////////////////////////////////////////////////////
if (!haveAccount)
throw new ApplicationException("Geben Sie bitte eine Kontonummer/BLZ oder IBAN ein");
}
catch (RemoteException e)
{
Logger.error("error while checking empfaenger",e);
throw new ApplicationException(i18n.tr("Fehler bei der Pr�fung des Empf�ngers"));
}
}