【问题标题】:Django: Best way to give Stripe ACH deposit verification ErrorDjango:给 Stripe ACH 存款验证错误的最佳方式
【发布时间】:2019-02-12 01:16:52
【问题描述】:

我正在处理 Stripe ACH 验证,我让用户输入两个与他们银行账户中的存款相对应的数字。当他们输入一个不是 1 到 99 之间的整数的值时,错误输出 html 字段的最佳方法是什么。这应该在 javascript 端(jquery?)还是在我看来。我的直觉告诉我它需要在视图中完成,但我不知道如何将错误消息转发给用户。我应该为此创建一个表格吗?我不这么认为,因为我没有将内容保存到数据库中。

想法?

我在 Django 中的视图

def ach_payment_verify_updateview(request):
    request.stripe_id = request._post['token']
    print('hi')
    try:
    if not isinstance(request._post['deposit_1'], int):
    ### some kind of error message here
    print(request._post['deposit_1'])
    print(request._post['deposit_2'])

我当前的 javascript 代码。

document.querySelector('form.ach-payment-verify-form').addEventListener('submit', function(e) {
    e.preventDefault();
  var nextUrl = paymentForm.attr('data-next-url');
  var deposit_1 = document.getElementById('deposit-1').value;
  var deposit_2 = document.getElementById('deposit-2').value;
  stripeDepositHandler(nextUrl, deposit_1, deposit_2)
  });
function stripeDepositHandler(nextUrl, deposit_1, deposit_2){
  var paymentMethodEndpoint = '/billing/ach-payment-verify/create/'
  var data = {
    'token': 'ba_1CWoJSFAasdfafsdReMae',
    'deposit_1':deposit_1,
    'deposit_2':deposit_2,
  }
  $.ajax({
      data: data,
      url: paymentMethodEndpoint,
      method: "POST",
      success: function(data){
        var successMsg = data.message || "Success! Your account has been verified."
        $("form.ach-payment-verify-form")[0].reset();
        if (nextUrl){
          successMsg = successMsg + "<br/><br/><i class='fa fa-spin fa-spinner'></i> Redirecting..." //<i class> - 'font awesome'
        }
        if ($.alert){  // if alert message is installed
          $.alert(successMsg)
        } else {
          alert("")
        } 
        redirectToNext(nextUrl, 1500)
      },
      error: function(error){
        console.log(error)
      }
  })
}

【问题讨论】:

    标签: javascript django stripe-payments


    【解决方案1】:
    Please try this validation in your code : 
    document.querySelector('form.ach-payment-verify-form').addEventListener('submit', function(e) {
        e.preventDefault();
      var nextUrl = paymentForm.attr('data-next-url');
      var deposit_1 = document.getElementById('deposit-1').value;
      var deposit_2 = document.getElementById('deposit-2').value;
    
          if (Number.isInteger(deposit_1) && Number.isInteger(deposit_2)) {
              stripeDepositHandler(nextUrl, deposit_1, deposit_2)
          }
          else {
              console.log("Please enter valide number. Thank You !")
          }
    

    【讨论】:

      猜你喜欢
      • 2019-03-12
      • 2017-12-20
      • 2019-10-26
      • 1970-01-01
      • 2012-08-29
      • 2015-04-26
      • 1970-01-01
      • 2021-07-28
      • 2018-11-01
      相关资源
      最近更新 更多