(react-hook-form) Ошибка валидации

Есть форма, после подтверждения которой всегда высвечивает одну и ту же ошибку в обеих полях вне зависимости от введённых значений, да ещё и красным не подсвечивает. Я пробовал подсвечивать через error.title?message != '' и error.body?message != ''. Это работало всегда, но также не реагирует ни на какое значение.

Я только предполагаю, что ошибка всегда высвечивается одна и та же, потому что оно является первым в списке среди остальных ошибок и видимо не привязано каким-либо образом к условиям валидации.

Что нужно изменить в коде, чтобы при ошибке валидации высвечивалась нужная ошибка, а поле окрашивалось красным цветом?

введите сюда описание изображения

import * as React from 'react';
import firebase from '../firebase';
import { Button, CssBaseline, TextField, Box, Typography, Container} from '@material-ui/core';
import { useForm } from 'react-hook-form';
import { yupResolver } from '@hookform/resolvers/yup';
import * as Yup from 'yup';

type Post = {
  title: string;
  body: string;
};

export default function Form(){
  const validationSchema = Yup.object().shape({
    title: Yup.string()
      .required('Title is required.')
      .max(100, 'Title must not exceed 100 characters.'),
    body: Yup.string()
      .required('Description is required.')
      .max(100, 'Description must not exceed 100 characters.'),
  });
  
  const {
    register,
    handleSubmit,
    reset,
    formState: { errors }
  } = useForm<Post>({
    resolver: yupResolver(validationSchema)
  });

  const onSubmit = (data: Post) => {
    console.log(JSON.stringify(data, null, 2));
  };

  return (
      <Container component="main" maxWidth="xs">
        <CssBaseline />
        <Box
          sx={{
            marginTop: '50%',
            display: 'flex',
            flexDirection: 'column',
            alignItems: 'center',
          }}
        >
          <Typography component="h1" variant="h5">
            Publish your new article
          </Typography>
          <Box sx={{ mt: 1 }}>
            <form onSubmit={handleSubmit(onSubmit)}>
              <TextField
                margin="normal"
                fullWidth
                id="title"
                label="Title*"
                name="title"
                autoFocus
                helperText={errors.title?.message}

              />
              <TextField
                fullWidth
                label="Description*"
                multiline
                rows={4}
                id="body"
                name="body"
                helperText={errors.body?.message}
              />
              <Button
                type="submit"
                fullWidth
                variant="contained"
                color="success"
                sx={{ mt: 3, mb: 2 }}
              >
                Publish
              </Button>
            </form>
          </Box>
        </Box>
      </Container>
  );
}

Ответы (0 шт):