в отдельную функцию makeFormdata -так код не работает , однако, если без этой функции (комментируем то что выделено жирным и раскоментируем то что под ним )-то работает , в чем может быть дело ? по идее же одно и тоже происходит . В дебаггере , даже не заходит внутрь функции makeFormdata , когда дохожу до этой функции и жму след шаг или шаг внутрь функции сразу выдается ошибка: if (isActuallyValid) {
// Proceed with submit...
//
// To respect sync submit fns, we can't simply wrap executeSubmit in a promise and
// _always_ dispatch SUBMIT_SUCCESS because isSubmitting would then always be false.
// This would be fine in simple cases, but make it impossible to disable submit
// buttons where people use callbacks or promises as side effects (which is basically
// all of v1 Formik code). Instead, recall that we are inside of a promise chain already,
// so we can try/catch executeSubmit(), if it returns undefined, then just bail.
// If there are errors, throw em. Otherwise, wrap executeSubmit in a promise and handle
// cleanup of isSubmitting on behalf of the consumer.
var promiseOrUndefined;
try {
promiseOrUndefined = executeSubmit(); // Bail if it's sync, consumer is responsible for cleaning up
// via setSubmitting(false)
if (promiseOrUndefined === undefined) {
return;
}
} catch (error) {
throw error;
}
основной код:
const makeFormdata = (volunteer, phone, statusid = volunteer.status.id, comment = volunteer.comment) => {
var data = new FormData();
data.append('firstname', volunteer.firstname)
data.append('lastname', volunteer.lastname)
data.append('patronymic', volunteer.patronymic)
data.append('phone', parseInt(phone))
data.append('password', volunteer.password)
data.append('date_of_birth', volunteer.date_of_birth)
data.append('address', volunteer.address)
data.append('status_id', statusid)
data.append('comment', comment)
return data
}
var content = { 'Content-Type': 'multipart/form-data' }
const getPhone = (values, initphone) => {
let finphone;
var ph = values.phone.replace(/[- )(+]/g, '');
if (initphone !== ph) {
finphone = ph
} else {
finphone = `7${initphone}`
}
return finphone
}
const submitForm = (values, initphone) => {
if (values.password && values.confPassword && values.password !== values.confPassword) {
return;
}
delete values.confPassword
if (values.phone.includes("_")) {
seterror(true)
values.password = ""
values.confPassword = ""
return;
}
let finphone = getPhone(values, initphone)
const data = makeFormdata(values, finphone);
/* var data = new FormData();
/* data.append('firstname', values.firstname)
data.append('lastname', values.lastname)
data.append('patronymic', values.patronymic)
data.append('phone', parseInt(finphone))
data.append('password', values.password)
data.append('date_of_birth', values.date_of_birth)
data.append('address', values.address)
if (urlPath.includes("req")){
data.append('status_id', values.status.id)
data.append('comment', values.comment)
}*/
values.password = ""
values.confPassword = ""
save(data, "volunteers", content, !urlPath.includes("newvolunteer"), id ? id : null)
}
пожалуйста, пользуйся сервисами для шаринга кода. это нечитабельнаая портянка. paste.bin, codesandbox.io etc
Обсуждают сегодня