1

Is there a way to get a returned value of true or false for Abide form validation. I know there are event listeners that you can call on form submit but I have a PayPal checkout button that I don't want to run unless the form is valid and don't have control over the click action on it since it's in an iFrame.

paypal.Button.render({
    env: 'sandbox',
    client: {
        sandbox: 'xxx'
    },
    payment: function() {
        var env      = this.props.env,
            client   = this.props.client,
            total    = $('#amount-cents').val() / 100,
            $validateError = $('.validate-error'),
            valid = $('#payment-form').foundation('validateForm'); // just runs validation

        // need to be able to check if form is valid here
        if (valid === true) {
            $validateError.hide();

            return paypal.rest.payment.create(env, client, {
                transactions: [
                    {
                        amount: { total: total, currency: 'USD' }
                    }
                ]
            });
        } else {
            $validateError.show();
            return false;
        }
    },
    commit: true,
    onAuthorize: function(data, actions) {
        return actions.payment.execute().then(function() {
            paypalDonation(data);
        });
    }
}, '#paypal-button');
ferne97
  • 1,063
  • 1
  • 10
  • 20

0 Answers0