onSubmit
const schema = yup.object().shape({
code: yup.string().required(),
name: yup.string().required(),
full_name: yup.string().required(),
phone: yup.number().required(),
email: yup.string().email().required(),
address: yup.string().required()
})
const defaultValues: SchoolCreateType = {
id: Number(),
code: '',
name: '',
full_name: '',
description: '',
phone: '',
email: '',
address: '',
avatar: '',
background: '',
admin_id: Number(),
parent_id: Number()
}
const SchoolCreate = () => {
// State
const [isSubmitting, setIsSubmitting] = useState<boolean>(false)
// Hooks
const router = useRouter()
const dispatch = useDispatch<AppDispatch>()
const usersStore = useSelector((state: RootState) => state.user)
const regionsStore = useSelector((state: RootState) => state.regions)
const {
reset,
control,
handleSubmit,
formState: { errors }
} = useForm({
defaultValues,
mode: 'onChange',
resolver: yupResolver(schema)
})
useEffect(() => {
dispatch(
fetchUsers({
limit: 500,
offset: 0,
role: 'principal'
})
)
}, [dispatch])
useEffect(() => {
dispatch(fetchRegions())
}, [dispatch])
const onSubmit = (data: SchoolCreateType) => {
setIsSubmitting(true)
dispatch(addSchool(data)).then(res => {
if (res.payload && res.payload.success === true) {
setIsSubmitting(false)
toast.success('Üstünlikli ýerine ýetirildi!', {
duration: 2000
})
reset()
router.push('/schools')
} else {
setIsSubmitting(false)
toast.error('Näsazlyk ýüze çykdy!', {
duration: 2000
})
}
})
}
return (
<form
onSubmit={e => {
e.preventDefault()
handleSubmit(onSubmit)
}}
>
<Grid container spacing={6}>
<Grid item xs={12}>
<Card>
<CardHeader title='Mekdep maglumatlary' />
<Divider />
<CardContent>
<Grid container spacing={6}>
<Grid item xs={12} sm={6}>
<Controller
name='code'
control={control}
rules={{ required: true }}
render={({ field: { value, onChange } }) => (
<CustomTextField
fullWidth
value={value}
label='Kody'
onChange={onChange}
error={Boolean(errors.code)}
{...(errors.code && { helperText: errors.code.message })}
/>
)}
/>
</Grid>
код выдели через ``` невозможно читать а по теме твоей: отруби валидатор, если засабмитит, то значит валидация не пропускает
Хуя се метод Мб просто isValid из формстейта залогать?)
Да мне то зачем? )))
handleSubmit(onSubmit, onInValid)
Обсуждают сегодня