Webformのテキストフィールドへの入力を条件付きで必須にする手順

こんにちは。
ぴころじーの竹川です。

お問い合わせフォームを構築しているとき、ふと思うことがあります。

「このテキストフィールドはラジオボタンの◯◯が選択されているときは必須にしたいけど、他の項目がチェックされているときは任意にしたいなぁ。」

・・・という具合に。今回は、そのような要望に対する設定方法です。

実行環境

  1. Drupal 10.2.2
  2. Composer 2.7.6
  3. Drush 12.4.3.0
  4. エックスサーバー

モジュール

Webform

設定手順

今回、DrupalのWebformモジュールはインストール済みであるという前提のもとに設定を行いますので、インストール手順は省略いたします。

全体像

今回の全体像は次のようになります。

一般的によくあるようなカタチではないかと思います。

このうち、「ポジション」(ラジオボタン)をトリガーにして、その下にある「所属している都道府県。市町村(現役隊員、OBOG、行政職員)」と「貴社名・商号名・団体名等」の2つのテキストフィールドを必須項目にします。

テキストフィールドを配置

テキストフィールド「所属している都道府県。市町村(現役隊員、OBOG、行政職員)」を追加します。

テキストフィールド「貴社名・商号名・団体名等」を追加します。

ラジオボタンを配置

条件付けのトリガー項目として、ラジオボタンを配置します。(少し縦に長くなりすぎてしまい申し訳ありません。)

選択項目の内、「現役隊員」「OBOG」「行政職員」にチェックが入れられたとき、テキストフィールド「所属している都道府県・市町村(現役隊員、OBOG、行政職員)」を必須項目にします。また、「民間団体」にチェックが入れられたとき、テキストフィールド「貴社名・商号名・団体名等」を必須項目にします。

条件付き必須項目の設定

条件の設定はラジオボタンではなく、テキストフィールドに対して行います。

テキストフィールド「所属している都道府県・市町村(現役隊員、OBOG、行政職員)」の設定は以下のとおりです。

テキストフィールド「貴社名・商号名・団体名等」の設定は以下のとおりです。

設定は以上です。

設定を行ったら、実際にテストをします。

特定のラジオボタンを選んだときのみ、上記のようになれば正しく設定されています。

少し設定を追加すれば、このようなことができるのもDrupalのWebformモジュールの良いところです。Drupalを使ったウェブサイトの開発の助けになれば幸いです。