講習会参加申し込み自動化GASサンプルの処理の流れの概略が出来てきたので、各入力項目の簡単なチェック機能を追加します。
入力項目の簡単なチェック
Eメールアドレスの検証
Eメールアドレスに関しては、 以下の様な形式チェック手順が一般的です。
var validationEmail = FormApp.createTextValidation().requireTextIsEmail().build(); form.addTextItem().setTitle('顧問メールアドレス').setRequired(true).setValidation(validationEmail);
上記の顧問メールアドレス入力項目へのチェックは、以下の方法で行われています。
- FormAppクラスのcreateTextValidation()メソッドを使ってオブジェクト作成
- TextValidationオブジェクトにrequireTextIsEmail()クラスで適用する検証ルールを指定
build()
メソッドで回答の検証ルールを設定。- 入力項目に上記で作成した回答の検証ルールを設定する。
電話番号の検証
電話番号のチェックには、正規化チェックが使われます。
今回は、簡単に固定電話は市外局番から携帯電話はそのまま連続して入力してもらうことにしました。(0から始まる数字4~13桁の検証)
var validationphone = FormApp.createTextValidation().requireTextMatchesPattern('^0[0-9]{4,13}$').build(); form.addTextItem().setTitle('顧問電話番号').setValidation(validationphone);
正規化表現による回答の検証
電話番号の形式チェックは、下記の項目で行われています。
- FormAppクラスのcreateTextValidation()メソッドを使ってオブジェクト作成
- TextValidationオブジェクトにrequireTextMatchesPattern()クラスで正規化表現との一致チェックを行う検証ルールを適用
- build() メソッドで回答の検証ルールを設定。
- (電話番号入力)項目に上記で作成した回答の検証ルールを設定する。
- 上記の1~4の手順で、名前やフリガナ入力項目にも正規表現で検証ルールを設定します。
TextValidationBuilderクラスが持つ他の検証メソッドは、下記のGoogle Apps Scriptリファレンスの(Class TextValidationBuilder)で確認できます。
Class TextValidationBuilder | Apps Script | Google for Developers
Googleフォーム 回答の検証で使う正規化パターンの意味
サンプルでの正規化パターン^0[0-9]{4,13}$の意味は、以下の内容を表しています。
- ^ 正規表現の先頭 。
- 0 先頭数字が0。
- [0-9] 数字の0~9までのいずれかの値。
- {4,13}直前の数字[0~9]の桁数が4桁から13桁
- $ 正規化表現の終了
正規化表現で使用する記号は下記リファレンスの正規表現(正規表現の例)をご覧ください。
フォームのルールを設定する方法 - Google ドキュメント エディタ ヘルプ
フォーム記入時のルールを作成し、そのルールに従って回答が記入されるように設定できます。たとえばメールアドレスの入力を求める場合、適切な形式のメールアドレスが入力されたフォームのみを送信できるように指定できます。 質問のルールを設定する Go...