React.jsで簡単にフォームバリデーションを実装する方法

この記事では、React.jsで簡単にフォームバリデーションを実装する方法を紹介します。フォームの入力データをリアルタイムでチェックし、エラーを表示する方法を学びましょう。また、FormikとYupを活用して高度なバリデーションを実装する方法も解説します。

React.jsでフォームバリデーションを実装する基本

React.jsでは、フォームのバリデーションを簡単に実装することができます。まず、フォームの状態を管理し、入力エラーをチェックする基本的な方法を見てみましょう。

  
  function SimpleForm() {
    const [name, setName] = useState('');
    const [error, setError] = useState('');

    const handleSubmit = (event) => {
      event.preventDefault();
      if (name === '') {
        setError('Name is required');
      } else {
        setError('');
        // Submit the form
      }
    };

    return (
      
{error &&

{error}

}
); }

フォームの状態管理とエラーメッセージの表示

フォームの状態をリアルタイムで管理し、エラーメッセージを動的に表示する方法を解説します。入力フィールドの変更に応じてエラーが更新される仕組みを実装します。

  
  function RealTimeValidationForm() {
    const [email, setEmail] = useState('');
    const [error, setError] = useState('');

    const handleEmailChange = (e) => {
      setEmail(e.target.value);
      if (!/S+@S+.S+/.test(e.target.value)) {
        setError('Invalid email address');
      } else {
        setError('');
      }
    };

    return (
      
{error &&

{error}

}
); }

ライブラリを使った高度なバリデーションの実装(FormikとYup)

FormikとYupのライブラリを使って、フォームバリデーションを効率的に実装する方法を紹介します。これらのライブラリを使うことで、複雑なバリデーションも簡単に管理することができます。

  
  import { useFormik } from 'formik';
  import * as Yup from 'yup';

  function FormikValidationForm() {
    const formik = useFormik({
      initialValues: {
        email: '',
      },
      validationSchema: Yup.object({
        email: Yup.string()
          .email('Invalid email address')
          .required('Required'),
      }),
      onSubmit: (values) => {
        alert(JSON.stringify(values, null, 2));
      },
    });

    return (
      
{formik.touched.email && formik.errors.email ? (
{formik.errors.email}
) : null}
); }

React.jsで簡単にフォームバリデーションを実装する方法のまとめ

この記事では、React.jsでフォームバリデーションを実装する方法について学びました。基本的なバリデーションの実装から、FormikとYupを活用した高度なバリデーションまで、React.jsを使って効率的にフォームデータをチェックできるようになりました。これを活用して、フォームの信頼性を向上させましょう。

タイトルとURLをコピーしました