はじめに
Googleフォームの機能の一つで「回答の検証」と言うものがあります。
今回は、特にテキスト入力である「記述式」と「段落」について、Google Apps Scriptで指定する方法を紹介します。
はじめに、下記コードを作成してください。
let TextValidationBuild = FormApp.createTextValidation();
このコードでは TextValidationBuild と言う変数に TextValidationBuilderクラスオブジェクト を格納しています。
エラーテキストの設定
TextValidationBuild = TextValidationBuild.setHelpText("エラーメッセージ");
こちらは、ルールを設定してそのルール以外の入力があった際に表示されるエラーテキストになります。
数値に関するルール(記述式のみ)
入力が数値であるか
TextValidationBuild = TextValidationBuild.requireNumber();
入力された値が数値であるかどうかを判断するルール。
入力が整数であるか
TextValidationBuild = TextValidationBuild.requireWholeNumber();
入力された値が整数であるかどうかを判断するルール。
入力された数値がある範囲内に存在するか
TextValidationBuild = TextValidationBuild.requireNumberBetween(start, end);
入力された数値が start 以上 end 以下に存在しているかを判断するルール。
実際に使う際は、start と end に数値を入力してください。
入力された数値がある範囲外に存在するか
TextValidationBuild = TextValidationBuild.requireNumberNotBetween(start, end);
入力された数値が start 以下 end 以上に存在しているかを判断するルール。
実際に使う際は、start と end に数値を入力してください。
入力された数値が条件と等しいか
TextValidationBuild = TextValidationBuild.requireNumberEqualTo(number);
入力された数値が number と等しいかを判断するルール。
実際に使う際は、number に数値を入力してください。
入力された数値が条件と等しくないか
TextValidationBuild = TextValidationBuild.requireNumberNotEqualTo(number);
入力された数値が number と等しくないかを判断するルール。
実際に使う際は、number に数値を入力してください。
入力された数値が条件より大きいか
TextValidationBuild = TextValidationBuild.requireNumberGreaterThan(number);
入力された数値が number より大きいかを判断するルール。
実際に使う際は、number に数値を入力してください。
入力された数値が条件以上か
TextValidationBuild = TextValidationBuild.requireNumberGreaterThanOrEqualTo(number);
入力された数値が number 以上かを判断するルール。
実際に使う際は、number に数値を入力してください。
入力された数値が条件より小さいか
TextValidationBuild = TextValidationBuild.requireNumberLessThan(number);
入力された数値が number より小さいかを判断するルール。
実際に使う際は、number に数値を入力してください。
入力された数値が条件以下か
TextValidationBuild = TextValidationBuild.requireNumberLessThanOrEqualTo(number);
入力された数値が number 以下かを判断するルール。
実際に使う際は、number に数値を入力してください。
テキストに関するルール(記述式のみ)
文字が含まれているか
TextValidationBuild = TextValidationBuild.requireTextContainsPattern(pattern);
入力された値に pattern が含まれているかを判断するルール。
文字が含まれていないか
TextValidationBuild = TextValidationBuild.requireTextDoesNotContainPattern(pattern);
入力された値に pattern が含まれていないかを判断するルール。
メールアドレスであるか
TextValidationBuild = TextValidationBuild.requireTextIsEmail();
入力された値がメールアドレスであるかどうかを判断するルール。
URLであるか
TextValidationBuild = TextValidationBuild.requireTextIsUrl();
入力された値がURLであるかどうかを判断するルール。
ただし、URLが生きているかどうかは判断できません。
長さに関するルール
文字列の長さが一定値以上か
TextValidationBuild = TextValidationBuild.requireTextLengthGreaterThanOrEqualTo(number);
入力された値の長さが number 以上かを判断するルール。
実際に使う際は、number に数値を入力してください。
文字列の長さが一定値以下か
TextValidationBuild = TextValidationBuild.requireTextLengthLessThanOrEqualTo(number);
入力された値の長さが number 以下かを判断するルール。
実際に使う際は、number に数値を入力してください。
正規表現に関するルール
正規表現が含まれているか
TextValidationBuild = TextValidationBuild.requireTextContainsPattern(pattern);
入力された値に正規表現である pattern が含まれているかを判断するルール。
正規表現が含まれていないか
TextValidationBuild = TextValidationBuild.requireTextDoesNotContainPattern(pattern);
入力された値に正規表現である pattern が含まれていないかを判断するルール。
正規表現のパターンに一致するか
TextValidationBuild = TextValidationBuild.requireTextMatchesPattern(pattern);
入力された値に正規表現である pattern に一致しているかを判断するルール。
正規表現のパターンに一致していないか
TextValidationBuild = TextValidationBuild.requireTextDoesNotMatchPattern(pattern);
入力された値に正規表現である pattern に一致していないかを判断するルール。
さいごに
作成したルールを実行できる形にBUILDします。次のコードを実行して、ルールをセットしてください。
let TextValidation = TextValidationBuild.build();
<記述式または段落のオブジェクト>.setValidation(textValidation);
今回紹介したコード以外について
Googleが用意していくれている公式リファレンスを参考にしました。とてもわかりやすいものになっています。
Develop high-quality, cloud-based solutions with ease.…
全編が英語である点や、オブジェクト指向の理解が浅い状態では、うまく利用することが難しいです。
本ブログでは、今後もGoogle Apps Scriptのリファレンスの解説や、学び方・ツール作成について発信していきます。
ご興味ある方はお気に入り登録などお願いします。