Form Validation
Step 9: Add form validation
Let's implement form validation using Formik to ensure that the form fields meet specific criteria and display appropriate error messages when necessary. We will utilize the validate
property provided by the Formik instance. Let's examine the code below:
jsx99123456789101112131415161718192021222324252627282930313233343536const Form = () => {const formik = useFormik({initialValues: {// Initial values},onSubmit: (values, { resetForm }) => {// Form submission},validate: (values) => {let errors = {};if (values.username.trim() === "") {errors.username = "Name can't be empty";}if (values.occupation.trim() === "") {errors.occupation = "Occupation can't be empty";}return errors;},});return (<form onSubmit={formik.handleSubmit}><inputtype="text"name="username"placeholder="Name"onChange={formik.handleChange}value={formik.values.username}/>{formik.touched.username && formik.errors.username && (<span>{formik.errors.username}</span>)}<input
Code explanation:
Line 9: The
validate
property specifies a validation function that checks the values of the form fields.Line 12-14: If the username field is empty, the error message
Name can't be empty
is added to theerrors
object.Line 16-18: If the occupation field is empty, the error message
Occupation can't be empty
is added to theerrors
object.Line 33-35, 43-45: Conditional rendering is used to display error messages. If
formik.errors.username
orformik.errors.occupation
is truthy, the error message is displayed using the<span>
element.
Note
Formik simplifies form validation by providing a convenient way to handle errors and display error messages. By utilizing the
validate
property and conditional rendering, we can ensure that the form fields meet the required criteria and provide meaningful feedback to users.
Complete code
Tack för dina kommentarer!
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal