Open1

【React-hook-form】バリデーションフォームについて詳しく調べてみた

yu.miyoshiyu.miyoshi

概要

React-hook-formのregisterによるバリデーションを詳しく調べてみる。

バリデーション

準備

react-hook-formをimportし、registerを使えるよう準備

import { useForm } from 'react-hook-form'
......
const Form = () => {
  const { register, handleSubmit, errors, reset, setValue } = useForm()
......
  return (
    <form onSubmit={handleSubmit(onSubmit)}>
      <input
        type="text"
        placeholder="First name"
        name="First name"
        ref={register({required: true, maxLength: 80})}
      />
      <input
        type="text"
        placeholder="Last name"
        name="Last name"
        ref={register({required: true, maxLength: 100})}
      />
      <input
        type="text"
        placeholder="Email"
        name="Email"
        ref={register({required: true, pattern: /^\S+@\S+$/i})}
      />
      <input
        type="tel"
        placeholder="Mobile number"
        name="Mobile number"
        ref={register({required: true, minLength: 6, maxLength: 12})}
      />

ref内のregisterでバリデーションをする

  • required
    • 必須項目
  • minLength
    • 最小桁数
  • maxLength
    • 最大桁数
  • pattern
    • 正規表現でカスタムバリデーション

参考リンク

https://react-hook-form.com/form-builder