Сообщение об ошибке встроенной базы с ошибкой Formik: подробное руководство с примерами кода

Проверка формы — важная часть любого приложения, и предоставление пользователям содержательных сообщений об ошибках имеет решающее значение для бесперебойной работы пользователей. В этой статье блога мы рассмотрим различные методы обработки собственных базовых сообщений об ошибках с помощью Formik error, популярной библиотеки проверки форм в React Native. Мы предоставим примеры кода, чтобы проиллюстрировать каждый метод и помочь вам эффективно реализовать обработку ошибок в ваших проектах React Native.

Метод 1: использование компонента ErrorMessage

import { ErrorMessage } from 'formik';
export const MyForm = () => {
  return (
    <Formik
      initialValues={initialValues}
      validationSchema={validationSchema}
      onSubmit={handleSubmit}
    >
      <Form>
        <Field name="email" type="email" />
        <ErrorMessage name="email" component={Text} />
        <Button title="Submit" onPress={submitForm} />
      </Form>
    </Formik>
  );
};

Метод 2. Пользовательский компонент сообщения об ошибке

import { useFormikContext } from 'formik';
export const CustomErrorMessage = ({ name }) => {
  const { errors, touched } = useFormikContext();
  return touched[name] && errors[name] ? (
    <Text style={styles.error}>{errors[name]}</Text>
  ) : null;
};
export const MyForm = () => {
  return (
    <Formik
      initialValues={initialValues}
      validationSchema={validationSchema}
      onSubmit={handleSubmit}
    >
      <Form>
        <Field name="email" type="email" />
        <CustomErrorMessage name="email" />
        <Button title="Submit" onPress={submitForm} />
      </Form>
    </Formik>
  );
};

Метод 3. Ошибочное оформление с помощью встроенной базы

import { useField } from 'formik';
export const MyForm = () => {
  const [field, meta] = useField('email');
  const hasError = meta.touched && meta.error;
  return (
    <Formik
      initialValues={initialValues}
      validationSchema={validationSchema}
      onSubmit={handleSubmit}
    >
      <Form>
        <Item error={hasError}>
          <Input {...field} placeholder="Email" />
        </Item>
        {hasError && <Text style={styles.error}>{meta.error}</Text>}
        <Button title="Submit" onPress={submitForm} />
      </Form>
    </Formik>
  );
};

Метод 4. Отображение ошибок в модальном окне

import { Modal } from 'react-native';
import { useField } from 'formik';
export const MyForm = () => {
  const [modalVisible, setModalVisible] = useState(false);
  const [field, meta] = useField('email');
  const hasError = meta.touched && meta.error;
  const handleModalClose = () => {
    setModalVisible(false);
  };
  return (
    <Formik
      initialValues={initialValues}
      validationSchema={validationSchema}
      onSubmit={handleSubmit}
    >
      <Form>
        <Item error={hasError}>
          <Input {...field} placeholder="Email" />
        </Item>
        {hasError && (
          <Button title="View Error" onPress={() => setModalVisible(true)} />
        )}
        <Modal visible={modalVisible} onRequestClose={handleModalClose}>
          <Text style={styles.error}>{meta.error}</Text>
          <Button title="Close" onPress={handleModalClose} />
        </Modal>
        <Button title="Submit" onPress={submitForm} />
      </Form>
    </Formik>
  );
};

В этой статье блога мы рассмотрели различные методы обработки собственных базовых сообщений об ошибках с ошибкой Formik в приложениях React Native. Используя компонент ErrorMessage, настраиваемые компоненты сообщений об ошибках, стилизацию ошибок с помощью Native Base и отображение ошибок в модальном окне, вы можете эффективно обрабатывать ошибки проверки формы и обеспечивать лучший пользовательский опыт. Внедрение этих методов гарантирует, что ваши пользователи будут получать четкие и полезные сообщения об ошибках при заполнении форм в вашем приложении React Native.