mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-09-06 09:08:09 +08:00
Move hosted fields validation into validityChange
event
This commit is contained in:
parent
a9922f36b1
commit
f2ac9045bb
3 changed files with 14 additions and 6 deletions
|
@ -39,4 +39,4 @@ class CartBootstrap {
|
|||
}
|
||||
}
|
||||
|
||||
export default CartBootstrap;
|
||||
export default CartBootstrap;
|
||||
|
|
|
@ -13,6 +13,10 @@ class CheckoutBootstap {
|
|||
|
||||
this.render();
|
||||
|
||||
jQuery(document.body).on('updated_checkout', () => {
|
||||
this.render()
|
||||
});
|
||||
|
||||
jQuery(document.body).
|
||||
on('updated_checkout payment_method_selected', () => {
|
||||
this.switchBetweenPayPalandOrderButton()
|
||||
|
|
|
@ -7,6 +7,7 @@ class CreditCardRenderer {
|
|||
this.errorHandler = errorHandler;
|
||||
this.spinner = spinner;
|
||||
this.cardValid = false;
|
||||
this.formValid = false;
|
||||
}
|
||||
|
||||
render(wrapper, contextConfig) {
|
||||
|
@ -97,12 +98,8 @@ class CreditCardRenderer {
|
|||
event.preventDefault();
|
||||
}
|
||||
this.errorHandler.clear();
|
||||
const state = hostedFields.getState();
|
||||
const formValid = Object.keys(state.fields).every(function (key) {
|
||||
return state.fields[key].isValid;
|
||||
});
|
||||
|
||||
if (formValid && this.cardValid) {
|
||||
if (this.formValid && this.cardValid) {
|
||||
const save_card = this.defaultConfig.save_card ? true : false;
|
||||
const vault = document.getElementById('ppcp-credit-card-vault') ?
|
||||
document.getElementById('ppcp-credit-card-vault').checked : save_card;
|
||||
|
@ -134,6 +131,13 @@ class CreditCardRenderer {
|
|||
const validCards = this.defaultConfig.hosted_fields.valid_cards;
|
||||
this.cardValid = validCards.indexOf(event.cards[0].type) !== -1;
|
||||
})
|
||||
hostedFields.on('validityChange', (event) => {
|
||||
const formValid = Object.keys(event.fields).every(function (key) {
|
||||
return event.fields[key].isValid;
|
||||
});
|
||||
this.formValid = formValid;
|
||||
|
||||
})
|
||||
document.querySelector(wrapper + ' button').addEventListener(
|
||||
'click',
|
||||
submitEvent
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue