Validating forms in React can take several lines of code to build. However, Formik's ErrorMessage component and Yup simplify that process.
import { ErrorMessage, Field, Form, Formik } from 'formik'; import React from 'react'; import { render } from 'react-dom'; import './index.css'; import ItemList from './ItemList'; import * as Yup from 'yup'; const initialValues = { item: '', }; const validationSchema = Yup.object().shape({ item: Yup.string().required('Item name is required'), }); const App = () => { const [items, setItems] = React.useState([]); return ( <React.Fragment> <h2>Regular Maintenance:</h2> <ItemList items={items} /> <Formik initialValues={initialValues} validationSchema={validationSchema} onSubmit={values => { setItems([...items, values.item]); }} > <Form> <label htmlFor="item">Item:</label> <Field type="text" name="item" /> <ErrorMessage name="item" /> <button type="submit">Add Item</button> </Form> </Formik> </React.Fragment> ); }; export default App; render(<App />, document.getElementById('root'));
来源:https://www.cnblogs.com/Answer1215/p/10644305.html