日付フィールドの検証
タブ
例えば、生年月日フィールドがあり、まだ起こっていない日付を入力されたくない場合や、イベント登録フォームを作成していて、すでに過ぎた日付にサインアップされたくない場合、またはサービス予約フォームで少なくとも2日前に予約する必要がある場合—当日予約が通過しないようにしたい場合があります。
これらはすべて同じ問題です。どの日付が入力可能かを制御する必要があるのであり、入力後にページ上で日付がどのように見えるかだけではありません。
日付と日付と時間はテキスト入力フィールドタイプの2つです。このガイドは入力検証についてです—受け入れられる日付を制御する設定です。これはテキスト入力プロパティの設定のフォーマットとは異なり、日付の表示方法(YYYY-MM-DDやMM/DD/YYYYなど)を変更するだけで、間違った日付の入力を防ぐものではありません。
以下の検証オプション(デートレンジ、タイムレンジ、クロスフィールド条件)は、日付および日付と時間フィールドに適用されます。他のフィールドタイプには独自の入力検証オプションがあります。
プリセットを使った簡単な設定
以下の一般的なシナリオの1つの場合、入力検証の下のプリセットをクリックすると、PlatoFormsが受け入れられる日付範囲を自動で設定します。
| シナリオ | 使用するプリセット | 設定内容 |
|---|---|---|
| 制限なし—どの日付でも可 | 任意の日付 | 開始: 制限なし · 終了: 制限なし |
| すでに起こったことの記録(例:事故の日付) | 過去のみ | 開始: 制限なし · 終了: 相対的—開日から0日前 |
| まだ起こっていないこと(例:イベントや予約の日付) | 未来のみ | 開始: 相対的—開日から0日後 · 終了: 制限なし |
| 生年月日フィールド | 生年月日 | 開始: 相対的—開日から100年前 · 終了: 相対的—開日から0日前 |
プリセットを選んだが、少し異なるものが必要な場合は、開始および終了フィールドを手動で微調整することができます。以下を参照してください。
カスタム範囲を作成する
プリセットでカバーされない場合は、受け入れられる日付範囲の下で開始および/または終了を自分で設定します。それぞれの側に3つのモードがあります。
-
制限なし: この範囲の端に制限がありません。範囲の片方だけが重要な場合に使用します(例:最小日付のみで、最大日付はなし)。
-
固定日付: 特定のカレンダー日付を入力します。現実の世界の日付に結びついて動かない範囲に使用します—例えば、「応募は2026年6月1日より前に提出できません」。
-
相対的: 回答者がフォームを開く日を基準に制限を設定します—範囲が常に「今日」とともにシフトする必要がある場合に便利です。数値を入力し、単位(
日、月、または年)を選択し、開日より前または開日より後を選択します。例えば、少なくとも2日前に通知が必要なサービス予約では、開始を相対的—
2日開日より後に設定します。
(任意)範囲外の場合のカスタムエラーメッセージを入力して、回答者に日付が拒否された理由を伝えます(例:「少なくとも2日後の日付を選んでください。」)。
時間帯を制限する
日付と時間フィールドが特定の時間内でのみ意味を持つ場合—例えば、サービス予約フォームで予約が午前9時から午後6時の間にのみスケジュールできる場合—入力検証の下で時間範囲を設定します。これは日付範囲とは別に設定されます。
最小および/または最大時間を入力します(片方だけが重要な場合は空白のままにします)。これは日付範囲と一緒に機能し、代わりに機能するわけではありません—したがって、予約を未来にし、かつ営業時間内にすることができます。
他のフィールドと比較する
一部の日付は、同じフォームの別のフィールドに関連してのみ意味を持ちます—古典的な例は、終了日が開始日の後でなければならない予約または旅程フォームです。
クロスフィールド条件の下で、次の形のルールを設定します。
[フィールドA] — 演算子 — このフィールドの値 — 演算子 — [フィールドB]
各側にフィールドを選択します—フィールドはIDとラベルでリストされています(例:#2 連絡先参照、#9 クライアント名)—そして各側がこのフィールドにどのように関連するかを選択します:<、<=、=、または!=。
いくつかの一般的なパターン:
- 終了日は開始日の後でなければならない: 終了日フィールドで、フィールドAを
#3 開始日、演算子を<に設定し、片方だけが重要な場合は右側を空白のままにします。 - 日付は他の2つの間に厳密に入らなければならない(例:賃貸の開始と終了の間に入らなければならない検査日):フィールドAを開始日フィールドに設定し、演算子を
<にし、フィールドBを終了日フィールドに設定し、演算子を<にします。これは開始日 < このフィールド < 終了日と読みます。 - この日付は他のフィールドの日付と等しくない必要がある(例:フォローアップの予約が初回の予約と同じ日ではいけない):除外するフィールドに対して
!=を使用します。
両側を埋める必要はありません—一方向の比較が必要な場合は片方を空白のままにします。
(任意)比較が失敗した理由を回答者に伝えるためのフィールド比較エラーメッセージを入力します—これは上記の日付範囲の範囲外のエラーメッセージとは別です。