CMB2で必須項目を作るときに便利なスニペットがこちら
https://github.com/CMB2/CMB2/wiki/Plugin-code-to-add-JS-validation-of-%22required%22-fields
うちでは、テーマの中に functions/functions-cmb.php といったファイルを作っちゃうので、そこに
https://github.com/CMB2/CMB2-Snippet-Library/blob/master/javascript/cmb2-js-validation-required.php
の内容を入れた上で、CMBを使った設定を記述している。
必須項目には、
'attributes' => array( 'data-validation' => 'required', ),
を入れる。例えば
$cmb_salon->add_field( array( 'name' => 'Salon', 'desc' => 'Select Salon (required)', 'id' => $prefix . 'salon_id', 'type' => 'select', 'show_option_none' => true, 'options' => $salons, 'attributes' => array( 'data-validation' => 'required', ), ) );