我有一个条纹银行帐户验证表单,需要使用特定格式的整数。没有小数,没有字母等。当用户输入错误的东西并提交时,页面会变成这样的东西:
致命错误:未捕获Stripe \ Error \ InvalidRequest:期望整数......然后是一堆有用但看起来很垃圾的信息
或者,如果银行帐户已经过验证,则可以这样:
致命错误:未捕获Stripe \ Error \ InvalidRequest:此银行帐户已经过验证.....然后是一堆有用但看起来很垃圾的信息
它仅用此错误替换我的页面和我的徽标等,因此用户必须单击后退按钮再试一次。
我意识到我可以为这些事情添加自己的错误检查,比如整数很容易,已经验证的将会更具挑战性。但是,由于条纹已经经历了检测错误并以这种格式返回它们的努力,我不想自己动手并重新发明轮子。
所以,尽管如此,如何让用户保持在同一页面上,表单仍然可见,只是在顶部显示错误,以便他们知道要修复什么?
如果输入格式不正确或者存在其他问题,则会出现错误的代码:
if ( !empty($_POST["valueOne"]) and !empty( $_POST["valueTwo"]))
{
https://dashboard.stripe.com/account/apikeys
\Stripe\Stripe::setApiKey("secret key");
// get the existing bank account
$customer = \Stripe\Customer::retrieve($customerHash);
$bank_account = $customer->sources->retrieve($bankHash);
// verify the account
$bank_account->verify(array('amounts' => array($_POST['valueOne'], $_POST['valueTwo'])));
}
答案 0 :(得分:-1)
这是使用JavaScript / jQuery进行客户端验证的经典案例。客户端验证的目的是防止在值不符合要求(或缺失)时提交表单。
您仍然希望保留服务器端验证,因为客户端验证可能会被破坏。
但客户端验证是确保提交的值是"正确"的第一步。