在paypal简单结账前验证表格

时间:2017-04-27 18:28:35

标签: jquery validation paypal

我的网站上有一个简单的付款方式,可以选择使用paypal快速结账付款。 我的表单的其余部分通过jquery验证进行验证。

如何在单击paypal按钮时进行设置,它应该在允许paypal弹出窗口打开之前验证表单?

$("#form1").validate();

我有一个简单的paypal渲染脚本

<script>
    paypal.Button.render({ ...

在paypal文档中,他们提供了类似的内容,但我不知道如何结合2

 validate: function(actions) {
       .....
    },

2 个答案:

答案 0 :(得分:2)

这里有一个完整的例子:

https://developer.paypal.com/demo/checkout/#/pattern/validation

在validate()函数中,您需要侦听表单更改并启用/禁用按钮。

答案 1 :(得分:1)

PayPal新API允许以这种方式验证表单,而无需使用onInit函数):

paypal
  .Buttons({
    // Run when the user click on the paypal button
    onClick: function(data, actions) {
      // My validation...
      url = searchInput.value
      // My validation Function...
      const isURL = validURL(url)
      if (isURL) {

        // Remove Existing Error message
        if (searchError.classList[2]) {
          searchError.classList.remove('err-message--show')
        }    
        // Enable The Paypal Button
        return true
      } else {
        // Add Error messages
        searchError.classList.add('err-message--show')
        // The paypak wont continue to the paypal page...
        return false
      }
    },
    createOrder: function(data, actions) {
      return actions.order.create({
        purchase_units: [
          {
            amount: {
              value: price,
              currency_code: 'ILS'
            }
          }
        ]
      })
    }
  .render('#paypal-button-container')

还有onApproval和onError函数...(处理PayPal流程的结果...)

希望我能帮上忙, Naveh

相关问题