Skip to content

Commit

Permalink
Reduced state and made checks more explicit in BankDataValidator
Browse files Browse the repository at this point in the history
  • Loading branch information
JeroenDeDauw committed Jul 29, 2016
1 parent f6c2b02 commit 646dcc9
Showing 1 changed file with 22 additions and 16 deletions.
38 changes: 22 additions & 16 deletions app/js/lib/form_validation.js
Original file line number Diff line number Diff line change
Expand Up @@ -82,34 +82,40 @@ var jQuery = require( 'jquery' ),
validationUrlForNonSepa: '',
sendFunction: null,
validate: function ( formValues ) {
var data, validationUrl;
if ( formValues.paymentType && formValues.paymentType !== 'BEZ' ) {
return {
status: 'OK'
};
}

if ( formValues.debitType === 'sepa' ) {
data = {
iban: formValues.iban
};
validationUrl = this.validationUrlForSepa;
} else {
data = {
accountNumber: formValues.accountNumber,
bankCode: formValues.bankCode
};
validationUrl = this.validationUrlForNonSepa;
if ( formValues.iban === '' ) {
return { status: 'INCOMPLETE' };
}

return this.sendFunction(
this.validationUrlForSepa,
{
iban: formValues.iban
},
null,
'json'
);
}

if ( this.dataIsIncomplete( data ) ) {
if ( formValues.accountNumber === '' || formValues.bankCode === '' ) {
return { status: 'INCOMPLETE' };
}

return this.sendFunction( validationUrl, data, null, 'json' );
},
dataIsIncomplete: function ( data ) {
return _.find( data, isEmptyString ) !== undefined;
return this.sendFunction(
this.validationUrlForNonSepa,
{
accountNumber: formValues.accountNumber,
bankCode: formValues.bankCode
},
null,
'json'
);
}
},

Expand Down

0 comments on commit 646dcc9

Please sign in to comment.