jaredpalmer / formik

Build forms in React, without the tears 😭
https://formik.org
Apache License 2.0
33.9k stars 2.79k forks source link

How to validate few fields (not all) on type button click in yup and formik. #3970

Open Rahulnagarwal opened 4 months ago

Rahulnagarwal commented 4 months ago

const initialValues = { salutation: '', firstName: "", lastName: "", email: '', role: "", employerName: "", countryId: "", stateId: '', password: '', confirmPassword: '', };

const validationSchema = Yup.object({
    firstName: Yup.string().required('First name is required'),
    lastName: Yup.string().required('Last name is required'),
    email: Yup.string().required('Email is required'),
    role: Yup.string().required('Role is required'),
    employerName: Yup.string().required('Employer Name is required'),
    countryId: Yup.string().required('Country is required'),
    stateId: Yup.string().required('State is required'),
    password: Yup.string().required('State is required'),
    confirmPassword: Yup.string().required('State is required'),
});

const onSubmit = async (values: any) => {};

const formik = useFormik({ initialValues, validationSchema, onSubmit, });

now how can i validate fields except password and confirmPassword on type button click?

erashu212 commented 4 months ago

@Rahulnagarwal Please provide a code sandbox meanwhile

const validationSchema = Yup.object({
    firstName: Yup.string().required('First name is required'),
    lastName: Yup.string().required('Last name is required'),
    email: Yup.string().required('Email is required'),
    role: Yup.string().required('Role is required'),
    employerName: Yup.string().required('Employer Name is required'),
    countryId: Yup.string().required('Country is required'),
    stateId: Yup.string().required('State is required'),
    password: Yup.string(),
    confirmPassword: Yup.string(),
});

you can do this

navinrangar commented 3 months ago

If you don't want to verify password and confirmPassword fields, simply don't put them in the yup validation object.