フォームの入力制限について | Community
Skip to main content
July 6, 2021

フォームの入力制限について

  • July 6, 2021
  • 2 replies
  • 175 views

はじめて投稿いたします。全くの初心者です。よろしくお願いいたします。

Marketoフォームに入力があった際、スラックに通知するように設定しているのですが、

お客様がフォームに入力した際に「”」という記号を入力すると、エラーとなり、スラックに通知されないことがあります。

このため、フォームのフィールドでの入力文字(記号)制限としてルールを設定しようと思っているのですが、

カスタムのJavaScriptが必要なようで、困っております(汗)

どなたかすでに実装済みの方がいらっしゃいましたら、手順等をご教示いただけないでしょうか。

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.

2 replies

yukotakagi1
Level 3
July 12, 2021

フォームの入力制限ではないですが、Webhookの設定でEncodingをJsonに変更すると、エスケープしてくれます。

(すみません、英語環境なので日本語での表示がわかりませんが、下記の画像を見てもらうとわかると思います。Request Token Encodeの変更です。)

 

この変更をすると、TokenがJson用に変更されますので、{{の前後に入っている"を削除する必要性があります。

 

 

July 25, 2021

ご丁寧に回答くださり、本当にありがとうございました!!!!

Shintaro_Toh
Adobe Employee
Adobe Employee
July 20, 2021

@tsuchidamaiko さま

先程はコンサルオフィスアワーにご参加いただきありがとうございました。

こちらでサンプルコードをお伝えします。

 

*XXの部分は適宜変更ください。

*「FIELD_API_NAME」は該当フィールドのAPI名に置き換えてください。

<script src="//app-abXX.marketo.com/js/forms2/js/forms2.min.js"></script> <form id="mktoForm_1131"></form> <script> MktoForms2.loadForm("//app-abXX.marketo.com", "XXX-XXX-XXX", XXXX, function (form) { form.onValidate(function() { var vals = form.vals(); if (vals.FIELD_API_NAME.indexOf('"') >= 0 ) { form.submittable(false); var doubleQuote = form.getFormElem().find("#FIELD_API_NAME"); form.showErrorMessage("ダブルクオーテーションは使わないでください", doubleQuote); } else { form.submittable(true); } }); }); </script>

 

 

参考

https://developers.marketo.com/rest-api/assets/forms/examples/

「Show Custom Error Message」

Shintaro Toh
July 25, 2021

いつもセミナー楽しみにしております。

回答本当にありがとうございます!!!