我使用 laravel 作为后端,react-admin 作为前端。 我的问题是react-admin正在使用基于http错误代码的默认错误消息我正在寻找一种方法来使用在我的后端生成的自定义消息
最佳答案
看看Custom sagas ,我在我的应用程序中使用自定义传奇来完成您尝试做的事情,我有 Laravel 作为后端,我希望我的验证错误显示在 React-admin 中,
我的 errorSagas.js 文件:
import { CRUD_CREATE_FAILURE } from "react-admin";
import { stopSubmit } from 'redux-form';
import { put, takeEvery } from "redux-saga/effects";
export default function* errorSagas() {
yield takeEvery(CRUD_CREATE_FAILURE, crudCreateFailure);
}
export function* crudCreateFailure(action) {
var json = action.payload;
// json structure looks like this:
// {
// username: "This username is already taken",
// age: "Your age must be above 18 years old"
// }
yield put(stopSubmit('record-form', json));
}
在 App.js 中:
...
import errorSagas from './sagas/errorSagas';
...
class App extends Component {
render() {
return (
<Admin
customSagas={[errorSagas]}
...
就是这样,现在所有的验证错误都返回到react-admin表单并被标记为表单中的错误
关于reactjs - 我如何使用react-admin响应正文中的自定义http错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57480776/