How To

生年月日で「年」あるいは「年・月」の入力のみでも購入できるようにする

ecforce efoでは生年月日の「年」あるいは「年・月」のみの入力でも購入できるようなバリデーションを追加することが可能です。
前提条件として、「年 (birth1)」フォーム内の「読み込み時イベント (JS)」に以下のJavascriptを記述する必要があります。

※「読み込み時イベント (JS)」を編集する場合、高度編集モードにする必要があります。

「年・月 (birth1, birth2)」の場合(birth3には「1日」が自動的に入力されます)

async () => {
 if (!$('#order_customer_attributes_birth_3i').val()) {
  $('#order_customer_attributes_birth_3i').val(1)
 } }

「年 (birth1)」の場合(birth2には「1月」、birth3には「1日」が入力されます)

async () => {
 if (!$('#order_customer_attributes_birth_2i').val()) {
  $('#order_customer_attributes_birth_2i').val(1)
 }
 if (!$('#order_customer_attributes_birth_3i').val()) {
  $('#order_customer_attributes_birth_3i').val(1)
 } }

バリデーションが発生する境界(※ 2020年12月に入力した場合)

  年 (birth1) 年・月 (birth1, birth2)
OK 2000年 2000年12月
NG 2001年 2001年1月
表示イメージ

この記事の目次

このセクションの記事

How To