承諾確認チェックボックスは特定の条件への送信者の同意を確認する目的に特化したシンプルなチェックボックスです。Contact Form 7 は承諾確認チェックボックスのために acceptance
フォームタグを提供しています。
コンタクトフォームで承諾確認チェックボックスを使うには、[acceptance]
フォームタグをフォームタブパネルの入力項目に次のように入力します:
[acceptance your-consent] 私はこの条件に同意します。 [/acceptance]
他のタイプのフォームタグとは異なり、[acceptance]
タグはその末尾に閉じタグ ([/acceptance]
) を持つことに注目してください。開始タグと閉じタグの間にある部分はそのフォームタグの内容です。承諾確認チェックボックスのフォームタグに内容が指定された場合、内容は同意を求める条件文として解釈されます。
Flamingo で送信データをデータベースに保存している場合は、送信者の同意に関する情報もまた保存され、Flamingo 上で参照できるようになります。
デフォルトでは承諾確認チェックボックスは必須入力項目として扱われるので、チェックボックスを選択することなしにフォームを送信することはできません。明示的に optional
オプションが指定されている場合は、チェックボックスは任意選択になります。invert
オプションが指定されている場合は、標準の動作が反転し、チェックボックスを解除しなければフォームを送信できなくなります。
オプション | 使用例 | 説明 |
---|---|---|
id:(id) | id:foo |
input 要素の id 属性値。 |
class:(class) | class:bar |
input 要素の class 属性値。2個以上のクラスを設定する場合は複数の class: オプションを [acceptance accept-this class:y2008 class:m01 class:d01] のようにして並べる。
|
optional | チェックボックスを任意選択にする。 | |
invert | チェックボックスのチェックを外さないと送信できないようにする。 | |
default:on | デフォルトでチェックボックスがチェックされた状態にする。 |
デモ
注意: これはデモです。このフォームが実際にメールを送信することはありません。
上のフォームのソース:
1) Default
[acceptance accept-this-1] Check here if you accept these terms. [/acceptance]
2) Inverted
[acceptance accept-this-2 invert] Uncheck here if you accept these terms. [/acceptance]
3) Selected by default + Inverted
[acceptance accept-this-3 invert default:on] Uncheck here if you accept these terms. [/acceptance]
[submit "Send"]
検証としての承諾確認
デフォルトでは承諾確認チェックボックスは一般の入力値検証とは異なる仕組みとして機能し、またすべての検証が成功した後で作動するものです。しかし入力値検証と同じように機能したほうがかえって利用者の混乱が少なくて良いのでは、と思うこともあるかもしれません。そのような場合は、コンタクトフォーム編集画面の「その他の設定」の項目に次の一行を追加してください:
acceptance_as_validation: on
これにより、そのフォーム内のすべての承諾確認チェックボックスが検証と同様の働きをするようになり、送信者がチェックを入れずに送信するとチェックボックスのとなりに通常の検証エラーメッセージが表示されるようになります。