# チェックアウト時に電場番号をバリデーションしたい。

**URL:** <https://community.shopify.com/t/topic/7890>\
**Category:** 総合的なディスカッション\
**Created:** [December 16, 2019, 5:25pm UTC](https://community.shopify.com/t/topic/7890 "2019-12-16T17:25:15Z")\
**Posts on this page:** 5\
**Page:** 1

## AI-generated summary

配送先住所フォームの電話番号入力に、郵便番号のような標準バリデーションを追加できるかが主題。結論として、チェックアウトテンプレートのカスタマイズはShopify Plus限定で、通常プランでは注文時点で独自バリデーションを挟む方法は基本的にない、という認識でまとまっている。

補足として、技術的にはWebhookで注文発生後のデータを受け取り、Twilioなどの外部APIで電話確認する案が挙がった。Twilioは電話・SMS関連の外部サービス。

一方で、電話番号は文字列だけでは完全な正当性判定が難しく、正規表現による形式チェックには限界があるとの指摘もあった。Webhookは注文後通知のため、チェックアウト時に入力を弾く用途には不向きで、必要なら注文後に検証し、保留や顧客確認で対応するのが現実的という結論。議論は実質的に収束している。

<div class="post-metadata">

**Author:** ![collamo](https://yyz1.discourse-cdn.com/shopifyforum/user_avatar/community.shopify.com/collamo/32/275424_2.png) [@collamo](https://community.shopify.com/u/collamo)\
**Post date:** [December 16, 2019, 5:25pm UTC](https://community.shopify.com/t/topic/7890/1 "2019-12-16T17:25:15Z")

</div>

支払い時に入力する配送先住所のフォームの中で、有効な郵便番号かどうかはバリデーションされるのですが、

電話番号は有効であるかどうかがバリデーションされません。（数字であればどんな番号でも入力できます）

テンプレートをカスタマイズするなど、何かしらの方法で独自のバリデーションを追加する方法はあるのでしょうか？

---

<div class="post-metadata">

**Author:** ![collamo](https://yyz1.discourse-cdn.com/shopifyforum/user_avatar/community.shopify.com/collamo/32/275424_2.png) [@collamo](https://community.shopify.com/u/collamo)\
**Post date:** [December 17, 2019, 2:57am UTC](https://community.shopify.com/t/topic/7890/2 "2019-12-17T02:57:51Z")

</div>

自己回答ですみません。

[https://help.shopify.com/en/themes/development/layouts/checkout](https://help.shopify.com/en/themes/development/layouts/checkout)

チェックアウト時のテンプレートのカスタマイズはShopify Plusのみの機能ということのようです。

基本的なバリデーションくらいはして欲しいところですが、機能が無いのであれば仕方が無いので、  
電話番号が有効かどうかは注文情報から確認し、無効であればメールで顧客に連絡して確認を取るというのが妥当な手段のようです。

---

<div class="post-metadata">

**Author:** ![junichiokamura](https://yyz1.discourse-cdn.com/shopifyforum/user_avatar/community.shopify.com/junichiokamura/32/299737_2.png) [@junichiokamura](https://community.shopify.com/u/junichiokamura)\
**Post date:** [December 17, 2019, 2:42pm UTC](https://community.shopify.com/t/topic/7890/3 "2019-12-17T14:42:43Z")

</div>

技術的には、Webhookなどを利用して、注文データの番号をTwillioなどのAPIで確認コールするまですれば可能ですが、やりすぎな感もします。電話番号のバリデーションは、値だけでは完全に正しいものかどうかのチェックは難しいかと思います。

---

<div class="post-metadata">

**Author:** ![collamo](https://yyz1.discourse-cdn.com/shopifyforum/user_avatar/community.shopify.com/collamo/32/275424_2.png) [@collamo](https://community.shopify.com/u/collamo)\
**Post date:** [December 18, 2019, 2:01am UTC](https://community.shopify.com/t/topic/7890/4 "2019-12-18T02:01:25Z")

</div>

@junichiokamura さん、ご返信ありがとうございます。  
なるほど、Webhookを使用するのは検討していませんでした。それなら好きなように処理が書けますね。  
電話番号は値だけではチェックが難しいというのも納得です。正規表現である程度でもチェックしようと思っていましたが、もしチェックをするのであればご提案頂いたような確実な方法で確認するのが良さそうですね。  
参考にさせて頂きます。ありがとうございました！

---

<div class="post-metadata">

**Author:** ![junichiokamura](https://yyz1.discourse-cdn.com/shopifyforum/user_avatar/community.shopify.com/junichiokamura/32/299737_2.png) [@junichiokamura](https://community.shopify.com/u/junichiokamura)\
**Post date:** [December 18, 2019, 2:24am UTC](https://community.shopify.com/t/topic/7890/5 "2019-12-18T02:24:10Z")

</div>

注意点として、webhookは注文発生後の通知になりますので、注文時に弾くのは難しいかと思います。発生後にバリデーションして、メッセージとともに支払いを保留にするとかの処置はできるかと思います。
