質問タイプ

md2formは豊富な質問タイプをサポートしており、様々なフォームのニーズに対応できます。このページでは、すべての質問タイプとその使用方法を詳しく説明します。

テキスト入力系

short_text - 短いテキスト入力

1行のテキスト入力フィールドです。名前、タイトルなどの短い文字列の入力に使用します。

### お名前
#type short_text
#placeholder "山田 太郎"
#required true
#maxLength 50

サポートされるプロパティ:

  • placeholder: プレースホルダーテキスト
  • maxLength: 最大文字数
  • default: デフォルト値
  • required: 必須入力
  • visible: 表示/非表示

long_text - 長いテキスト入力

複数行のテキスト入力フィールドです。コメント、意見、詳細な説明などに使用します。

### ご意見・ご要望
#type long_text
#placeholder "ご自由にお書きください"
#maxLength 1000
#richText true

サポートされるプロパティ:

  • placeholder: プレースホルダーテキスト
  • maxLength: 最大文字数
  • default: デフォルト値
  • richText: リッチテキスト編集の有効化
  • required: 必須入力
  • visible: 表示/非表示

email - メールアドレス入力

メールアドレス専用の入力フィールドです。自動的に形式検証が行われます。

### メールアドレス
#type email
#placeholder "example@example.com"
#required true
#allowMultiple false

サポートされるプロパティ:

  • placeholder: プレースホルダーテキスト
  • default: デフォルト値
  • allowMultiple: 複数メールアドレスの許可
  • required: 必須入力
  • visible: 表示/非表示

phone - 電話番号入力

電話番号専用の入力フィールドです。

### 電話番号
#type phone
#placeholder "090-1234-5678"
#countryCodeRequired false

サポートされるプロパティ:

  • placeholder: プレースホルダーテキスト
  • countryCodeRequired: 国コードの必須入力
  • default: デフォルト値
  • required: 必須入力
  • visible: 表示/非表示

数値入力系

number - 数値入力

数値専用の入力フィールドです。年齢、価格、数量などの数値データに使用します。

### 年齢
#type number
#min 0
#max 120
#step 1
#placeholder "数値で入力"
#integerOnly true

サポートされるプロパティ:

  • placeholder: プレースホルダーテキスト
  • min: 最小値
  • max: 最大値
  • step: 刻み値
  • default: デフォルト値
  • integerOnly: 整数のみ許可
  • required: 必須入力
  • visible: 表示/非表示

選択系

ドロップダウンメニューから1つの選択肢を選ぶフィールドです。

### 都道府県
#type dropdown
#options "東京都","大阪府","愛知県","神奈川県","その他"
#searchable true
#allowOther false

サポートされるプロパティ:

  • options: 選択肢のリスト(カンマ区切り)
  • allowOther: その他選択肢の許可
  • default: デフォルト選択値
  • searchable: 検索機能の有効化
  • required: 必須選択
  • visible: 表示/非表示

radio - ラジオボタン選択

ラジオボタンによる単一選択フィールドです。選択肢が少ない場合に適しています。

### 性別
#type radio
#options "男性","女性","その他","回答しない"
#allowOther false

サポートされるプロパティ:

  • options: 選択肢のリスト(カンマ区切り)
  • allowOther: その他選択肢の許可
  • default: デフォルト選択値
  • required: 必須選択
  • visible: 表示/非表示

checkbox - チェックボックス選択

チェックボックスによる複数選択フィールドです。

### 興味のある分野
#type checkbox
#options "AI・機械学習","ウェブ開発","モバイルアプリ","データサイエンス","デザイン"
#minSelected 1
#maxSelected 3

サポートされるプロパティ:

  • options: 選択肢のリスト(カンマ区切り)
  • minSelected: 最小選択数
  • maxSelected: 最大選択数
  • default: デフォルト選択値のリスト
  • required: 必須選択
  • visible: 表示/非表示

日時系

date - 日付選択

日付選択フィールドです。

### 生年月日
#type date
#includeTime false
#minDate "1900-01-01"
#maxDate "2024-12-31"

サポートされるプロパティ:

  • includeTime: 時刻も含めるかどうか
  • minDate: 最小日付(ISO形式)
  • maxDate: 最大日付(ISO形式)
  • default: デフォルト日付
  • required: 必須入力
  • visible: 表示/非表示

time - 時刻選択

時刻選択フィールドです。

### 希望時間
#type time
#minTime "09:00"
#maxTime "18:00"
#stepMinutes 30

サポートされるプロパティ:

  • minTime: 最小時刻(“HH:MM”形式)
  • maxTime: 最大時刻(“HH:MM”形式)
  • stepMinutes: 時刻の刻み(分)
  • default: デフォルト時刻
  • required: 必須入力
  • visible: 表示/非表示

評価・スケール系

rating - 星評価

星アイコンによる評価フィールドです。

### サービス満足度
#type rating
#scale 5
#labels "不満","とても満足"
#icon star

サポートされるプロパティ:

  • scale: 評価の段階数(例: 5段階評価)
  • labels: 最低・最高評価のラベル
  • icon: アイコンタイプ(star, heart, circle)
  • default: デフォルト評価
  • required: 必須入力
  • visible: 表示/非表示

likert - リッカート尺度

複数の項目について同一の尺度で評価するフィールドです。

### 授業評価
#type likert
#statements "内容の理解しやすさ","講師の説明力","資料の充実度","演習の適切さ"
#scaleLabels "全くそう思わない","そう思わない","どちらでもない","そう思う","とてもそう思う"
#requiredPerStatement true

サポートされるプロパティ:

  • statements: 評価項目のリスト
  • scaleLabels: 評価尺度のラベル
  • requiredPerStatement: 各項目の必須評価
  • required: 必須入力
  • visible: 表示/非表示

matrix - マトリクス(格子)

行と列の組み合わせによる評価・選択フィールドです。

### 週間スケジュール
#type matrix
#rows "月曜日","火曜日","水曜日","木曜日","金曜日"
#columns "午前","午後","夜"
#cellType radio
#requiredPerRow true

サポートされるプロパティ:

  • rows: 行のラベルリスト
  • columns: 列のラベルリスト
  • cellType: セルのタイプ(radio, checkbox, number, short_text)
  • requiredPerRow: 各行での必須選択
  • required: 必須入力
  • visible: 表示/非表示

scale - スケール(スライダー)

数値範囲でのスライダー評価フィールドです。

### 英語レベル自己評価
#type scale
#min 1
#max 10
#step 1
#minLabel "初心者"
#maxLabel "ネイティブレベル"

サポートされるプロパティ:

  • min: 最小値
  • max: 最大値
  • step: 刻み値
  • minLabel: 最小値のラベル
  • maxLabel: 最大値のラベル
  • default: デフォルト値
  • required: 必須入力
  • visible: 表示/非表示

ファイル・署名系

file_upload - ファイルアップロード

ファイルのアップロード機能です。

### 履歴書添付
#type file_upload
#allowedTypes "pdf","docx","doc"
#maxFiles 1
#maxSizeMB 10

サポートされるプロパティ:

  • allowedTypes: 許可するファイル形式
  • maxFiles: 最大ファイル数
  • maxSizeMB: 最大ファイルサイズ(MB)
  • required: 必須アップロード
  • visible: 表示/非表示

signature - 電子署名

電子署名の入力フィールドです。

### デジタル署名
#type signature
#captureMode draw
#required true

サポートされるプロパティ:

  • captureMode: 署名方法(draw, type, upload)
  • required: 必須署名
  • visible: 表示/非表示

メディア・表示系

image - 画像表示

画像を表示するフィールドです(入力ではなく表示用)。

### 商品画像
#type image
#src "https://example.com/product.jpg"
#alt "商品の写真"
#width 300
#caption "商品イメージ"

サポートされるプロパティ:

  • src: 画像のURL
  • alt: 代替テキスト
  • width: 幅(ピクセルまたは”auto”)
  • height: 高さ(ピクセルまたは”auto”)
  • caption: キャプション
  • visible: 表示/非表示

video - 動画表示

動画を表示するフィールドです(入力ではなく表示用)。

### 説明動画
#type video
#src "https://example.com/explanation.mp4"
#width 400
#caption "サービス紹介動画"

サポートされるプロパティ:

  • src: 動画のURL
  • width: 幅(ピクセルまたは”auto”)
  • height: 高さ(ピクセルまたは”auto”)
  • caption: キャプション
  • visible: 表示/非表示

その他

boolean - Yes/No選択

真偽値(Yes/No)の選択フィールドです。

### メール配信希望
#type boolean
#onLabel "希望する"
#offLabel "希望しない"
#default false

サポートされるプロパティ:

  • onLabel: Trueの場合のラベル
  • offLabel: Falseの場合のラベル
  • default: デフォルト値
  • required: 必須選択
  • visible: 表示/非表示

section_header - セクションヘッダー

セクション内に表示専用の見出しを追加するフィールドです。

### 重要事項
#type section_header
#title "個人情報の取り扱いについて"
#subtitle "以下の内容をよくお読みください"

サポートされるプロパティ:

  • title: メインタイトル
  • subtitle: サブタイトル
  • visible: 表示/非表示

質問タイプの選択指針

テキスト入力の選択

  • short_text: 名前、タイトル、短い回答(1行程度)
  • long_text: 意見、コメント、詳細な説明(複数行)
  • email: メールアドレス専用(バリデーション付き)
  • phone: 電話番号専用

選択系の選択

  • radio: 選択肢が少ない(2-5個程度)単一選択
  • dropdown: 選択肢が多い(6個以上)単一選択
  • checkbox: 複数選択が必要な場合

評価系の選択

  • rating: 直感的な星評価(1つの項目)
  • likert: 複数項目の同一尺度評価
  • scale: 連続的な数値評価
  • matrix: 複雑な評価表(行×列)

使用上の注意

1. 必須プロパティ

すべての質問タイプで #type プロパティは必須です:

### 質問
#type short_text  # 必須

2. プロパティの順序

プロパティの順序に制限はありませんが、#type を最初に書くことを推奨します:

### 質問
#type short_text
#required true
#placeholder "入力してください"

3. 無効なプロパティ

質問タイプによってはサポートされていないプロパティがあります。無効なプロパティは無視されます。

次のステップ

質問タイプを理解したら、以下のページで詳細を確認してください: