【发布时间】:2021-01-24 06:18:02
【问题描述】:
Stripe 建议使用change 事件对card 元素进行客户端验证:
cardElement.on('change', function(event) {
if (event.complete) {
// enable payment button
} else if (event.error) {
// show validation to customer
}
});
但是,如果用户从不编辑/更改卡片元素,则这种方法无法确定卡片元素是否无效。我总是可以尝试使用confirmCardPayment 提交付款,但这效率低下——这种验证应该可以在客户端进行。
我可以通过将付款表单默认为错误状态来解决此问题,然后在用户第一次更改卡时解决(或不解决)该错误状态。但是,这并不方便,因为它需要我将应用程序代码中的“您的卡号不完整”错误消息国际化,而不是依赖 Stripe。
理想情况下,我可以同步检查卡片元素是否有错误,或者至少同步触发更改事件,但这些似乎都不可能。
【问题讨论】:
-
还有 'ready' 或 'click' 等事件,stripe 接受它
-
@MohamedGhoneim
click没有帮助,因为如果用户从不点击怎么办?ready可以工作,但该事件不提供任何错误信息。
标签: javascript validation stripe-payments