Моя цель — запустить проверки после обрезки строки (т. е. после того, как функция форматирования был выполнен).
Однако я столкнулся с проблемой, из-за которой проверки не запускаются, если я нажимаю клавишу Enter для отправки формы.
Проверки работают отлично, если я набираю что-то вроде «реагировать " в поле ввода и нажмите кнопку отправки, отобразив ожидаемую ошибку. Но когда я нажимаю Enter, форма успешно отправляется без каких-либо ошибок проверки.
Минимальный воспроизводитель
Код: Выделить всё
import "./styles.css";
import { Field, Form } from "react-final-form";
export default function App() {
const onSubmit = (values: any) => {
alert(JSON.stringify(values));
};
return (
(
["react", "javascript"].includes(value)
? "Enter some other value"
: undefined
}
format={(value?: string) => value && value.trim()}
formatOnBlur
>
{({ input, meta }) => (
First Name
{meta.error && meta.touched && (
{meta.error}
)}
)}
Submit
)}
/>
);
}
Форма должна выполнять проверку после форматирования поля и выдавать ошибку при нажатии клавиши Enter.
Текущее поведение:
Форма успешно отправляется при нажатии клавиши Enter, минуя проверки.
Ссылка на песочницу :
Вы можете воспроизвести проблема в этой песочнице.
Подробнее здесь: https://stackoverflow.com/questions/793 ... final-form
Мобильная версия