まず、React Hook Formをプロジェクトにインストールします。ターミナルで以下のコマンドを実行します:
npm install react-hook-form
または
yarn add react-hook-form
React Hook Formをインストールしたら、フォームコンポーネントを作成しましょう。以下のようなコード例を参考にしてください:
import React from 'react';
import { useForm } from 'react-hook-form';
const PhoneNumberForm = () => {
const { register, handleSubmit, errors } = useForm();
const onSubmit = (data) => {
// フォームが正常に送信されたときの処理
console.log(data);
};
return (
<form onSubmit={handleSubmit(onSubmit)}>
<label>電話番号:</label>
<input
type="text"
name="phoneNumber"
ref={register({ required: true, pattern: /^\d{10}$/ })}
/>
{errors.phoneNumber && (
<p>有効な10桁の電話番号を入力してください。</p>
)}
<button type="submit">送信</button>
</form>
);
};
export default PhoneNumberForm;
上記のコードでは、useForm
フックを使用してフォームの状態とバリデーションルールを管理しています。register
関数を使用して入力フィールドを登録し、handleSubmit
関数を使用してフォームの送信イベントを処理します。
電話番号のバリデーションルールとして、register
関数のpattern
オプションに正規表現/^\d{10}$/
を指定しています。これは10桁の数字のみを受け付けることを意味します。
フォームの送信時にエラーがある場合は、errors
オブジェクトからエラーメッセージを表示します。
以上で、React Hook Formを使用して電話番号の妥当性確認を実装する方法が説明されました。この方法を使えば、簡単にフォームバリデーションを実現することができます。