forForm() { let yupChain = yup .mixed() .nullable(true) .label(this.label) .test( 'is-date', i18n('validation.mixed.default'), (value) => { if (!value) { return true; } return moment(value, 'YYYY-MM-DD').isValid(); }, ) .transform( (value) => value ? moment(value).format('YYYY-MM-DD') : null, ); if (this.required) { yupChain = yupChain.required(); } return yupChain; }
Yup.object().shape({ avatars: Yup.mixed() .required("A file is required") .test( "fileSize", .min(2, "username is Too Short!") .max(50, "username is Too Long!") .required("username is Required"), first_name: Yup.string() .min(2, "firstname is Too Short!") .max(30, "firstname is Too Long!") .required("firstname is Required"), last_name: Yup.string() .min(2, "lastname is Too Short!") .max(30, "lastname is Too Long!") .required("lastname is Required"), phone: Yup.number("Phone number is use only number") .min(10, "Phone number must be 10 characters!") .required("Phone number is Required"), address: Yup.string() .min(12, "address is Too Short!") .max(50, "address is Too Long!") .required("address is Required"), email: Yup.string() .email("Invalid email") .required("Email is Required") })