import * as React from 'react'; import { Button, FormControl, FormControlLabel, FormLabel, Grid, Paper, Radio, RadioGroup, TextField } from '@mui/material'; import { useFormik } from "formik"; import * as yup from "yup"; import { LocalizationProvider, DatePicker } from '@mui/x-date-pickers'; import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'; interface Patient { fullName: string; homePhone: string; cellPhone: string; email: string; age: number | string; dateOfBirth: string; socialSecurityNumber: string; mailingAddress: string; city: string; state: string; zipCode: string; gender: string; maritalStatus: string; } const validationSchema = yup.object({ fullName: yup.string().required("Full name is required"), homePhone: yup.string().matches(/^\d{10}$/, "Home phone must be 10 digits"), cellPhone: yup.string().required("Phone number is required").matches(/^\d{10}$/, "Cell phone must be 10 digits"), email: yup.string().required("Email is required"), age: yup.number().positive().integer("Age must be a positive integer").required("Age is required"), dateOfBirth: yup.date().required("Date of birth is required"), socialSecurityNumber: yup.string(), mailingAddress: yup.string().required("Mailing address is required"), city: yup.string().required("City is required"), state: yup.string().required("State is required"), zipCode: yup.string().matches(/^\d{6}$/, "Zip code must be 6 digits").required("Zip code is required") }); export default function PersonalSection(){ const [startDateValue, setStartDateValue] = React.useState(); const [emailValue, setEmailValue]= React.useState(''); const [patient, setPatient] = React.useState({ fullName: "", homePhone: "", cellPhone: "", email: "", age: 0, dateOfBirth: "", socialSecurityNumber: "", mailingAddress:"", city: "", state: "", zipCode: "", gender: "male", maritalStatus: "", }); const formik = useFormik({ initialValues: { fullName: "", homePhone: "", cellPhone: "", email: "", age: "", dateOfBirth: "", socialSecurityNumber: "", mailingAddress:"", city: "", state: "", zipCode: "", gender: "male", maritalStatus: "", }, validationSchema, onSubmit: (values) => { // Do something with the patient data console.log(values); }, }); const handleChange = (event: React.ChangeEvent) => { console.log("dsfsdfsdf",event.target.value) const { name, value } = event.target; setPatient((prevPatient) => ({ ...prevPatient, [name]: value, })); }; return( <> { setEmailValue(e.target.value) }} onBlur={formik.handleBlur} // error={formik.touched.email && Boolean(formik.errors.email)} // helperText={formik.touched.email && formik.errors.email} /> { setStartDateValue(newValue); }} renderInput={(params) => } /> Gender } label="Male" /> } label="Female" /> ) }