Если в поле "пароль" вводить текст, то снизу будет сообщение о том сколько символов вы ввели. (скриншот для наглядности)
Проболе в том, что текст оборачивается в двойные кавычки, т.к. это свойство объекта computed.
Уже несколько часов пытаюсь разобраться как это решить.
Что я сделал? Я просто взял currentVal из useForm.
Создал computed с именем passwordMessage, чтобы вычислять количество введенных символов
И здесь password: Yup.string().min(6, passwordMessage).required() просто вставляю созданный computed
const passwordMessage = computed(() => {
return `вы ввели ${currentVal?.password.length} символов`;
});
// Using yup to generate a validation schema
// https://vee-validate.logaretm.com/v4/guide/validation#validation-schemas-with-yup
const schema = Yup.object().shape({
name: Yup.string().required(),
email: Yup.string().email().required(),
password: Yup.string().min(6, passwordMessage).required(),
confirm_password: Yup.string()
.required()
.oneOf([Yup.ref("password")], "Passwords do not match"),
});
const { values: currentVal } = useForm({ validationSchema: schema });
Возможно есть более лучшее решение для этой задачи....
вот полный код
https://codesandbox.io/s/custom-text-input-with-ve...