Мне с бэка приходит массив с необходимыми name, которые я рендерю в инпуты формы react-hook-form. Не могу настроить схему валидации:
import { object, string, array } from "yup";
export const createValidationSchema = (arr: any) => {
const validationObject = {};
arr?.forEach(({name}: { name: string}) => {
validationObject[name] = string().required("Необходимо заполнить");
});
return object().shape({
editFields: array()
.of(object().shape(validationObject))
.required("Необходимо заполнить")
});
};
const { control, register, handleSubmit, formState: { errors, isValid } } = useForm<Form>({
// массив documentDetail?.template?.items приходит с бэка
resolver: yupResolver(createValidationSchema(documentDetail?.template?.items)),
mode: "onBlur"
});
const { fields, append } = useFieldArray<Form>({
control,
name: "editFields",
});
но на выходе errors выдаёт вот это:
Подскажите, что я делаю не так?