在 sweetalert2 中显示来自 preConfirm 的错误消息
Show error message from preConfirm in sweetalert2
我正在使用 sweetalert2
和 sweetalert2-react-content
。我的 inputValidator
工作正常,它向用户显示错误。在我有 AJAX 请求的 preConfirm
中如何做同样的事情?
MySwal.fire({
title: 'title',
input: 'text',
html: this.renderInfoText(),
showLoaderOnConfirm: true,
inputValidator: (value) => {
return new Promise((resolve) => {
if (this.validate(value)) {
resolve()
} else {
resolve('check formatting...')
}
})
},
preConfirm: (pno) => {
return axios.post('/some/route', { pno })
.then(response => {
// ...
})
.catch(error => {
// show an error message to the user from here?
});
}
})
here他们在一些例子中使用了fetch,尝试使用它
MySwal.fire({
title: 'title',
input: 'text',
html: this.renderInfoText(),
showLoaderOnConfirm: true,
inputValidator: (value) => {
return new Promise((resolve) => {
if (this.validate(value)) {
resolve()
} else {
resolve('check formatting...')
}
})
},
preConfirm: (pno) => {
return fetch('/some/route', {
method: 'POST',
body: JSON.stringify(pno),
headers: {
'Content-Type': 'application/json'
})
.then(response => {
// ...
})
.catch(error => {
// show an error message to the user from here?
});
}
})
这实际上记录在AJAX request example
下的examples中。这是我的解决方案:
MySwal.fire({
title: 'title',
input: 'text',
html: this.renderInfoText(),
showLoaderOnConfirm: true,
inputValidator: (value) => {
return new Promise((resolve) => {
if (this.validate(value)) {
resolve()
} else {
resolve('check formatting...')
}
})
},
preConfirm: (pno) => {
return axios.post('/some/route', { pno })
.then(response => {
// ...
})
.catch(error => {
if (error.response.status === 404) {
MySwal.showValidationMessage(error.response.data.message)
}
});
}
})
我正在使用 sweetalert2
和 sweetalert2-react-content
。我的 inputValidator
工作正常,它向用户显示错误。在我有 AJAX 请求的 preConfirm
中如何做同样的事情?
MySwal.fire({
title: 'title',
input: 'text',
html: this.renderInfoText(),
showLoaderOnConfirm: true,
inputValidator: (value) => {
return new Promise((resolve) => {
if (this.validate(value)) {
resolve()
} else {
resolve('check formatting...')
}
})
},
preConfirm: (pno) => {
return axios.post('/some/route', { pno })
.then(response => {
// ...
})
.catch(error => {
// show an error message to the user from here?
});
}
})
here他们在一些例子中使用了fetch,尝试使用它
MySwal.fire({
title: 'title',
input: 'text',
html: this.renderInfoText(),
showLoaderOnConfirm: true,
inputValidator: (value) => {
return new Promise((resolve) => {
if (this.validate(value)) {
resolve()
} else {
resolve('check formatting...')
}
})
},
preConfirm: (pno) => {
return fetch('/some/route', {
method: 'POST',
body: JSON.stringify(pno),
headers: {
'Content-Type': 'application/json'
})
.then(response => {
// ...
})
.catch(error => {
// show an error message to the user from here?
});
}
})
这实际上记录在AJAX request example
下的examples中。这是我的解决方案:
MySwal.fire({
title: 'title',
input: 'text',
html: this.renderInfoText(),
showLoaderOnConfirm: true,
inputValidator: (value) => {
return new Promise((resolve) => {
if (this.validate(value)) {
resolve()
} else {
resolve('check formatting...')
}
})
},
preConfirm: (pno) => {
return axios.post('/some/route', { pno })
.then(response => {
// ...
})
.catch(error => {
if (error.response.status === 404) {
MySwal.showValidationMessage(error.response.data.message)
}
});
}
})