経緯
業務中に実装する必要が出てきたので自分用にメモします
要件
別々の処理の実行前に同じフォーム検証を実行したい
フォーム検証の詳細はこちら、ざっくり言うとこういうの↓
方法
checkValidity()
を使います(詳細はこちら)
HTMLSelectElement.checkValidity() メソッドは、その要素に制約が設定されているかどうか、それを満足しているかどうかをチェックします。その要素が制約を満たしていない場合、ブラウザーはキャンセル可能な invalid イベントをその要素に送り、false を返します。
ReactのHooksを利用して<form>
にRefObject
を指定してハンドル関数から実行しました
submitボタンがクリックされないとフォームの検証は行われないので、CSSで非表示にしたダミーのsubmitボタンをさっきと同様にReactのHooksを使ってクリックさせています
See the Pen manual form validation by kitazawa (@kitazawa-53) on CodePen.
以上になります
ありがとうございました