【发布时间】:2019-08-13 15:15:30
【问题描述】:
我使用 laravel 作为后端和 react-admin 作为前端。 我的问题是 react-admin 正在使用基于 http 错误代码的默认错误消息我正在寻找一种方法来使用我在后端生成的自定义消息
【问题讨论】:
标签: reactjs react-admin
我使用 laravel 作为后端和 react-admin 作为前端。 我的问题是 react-admin 正在使用基于 http 错误代码的默认错误消息我正在寻找一种方法来使用我在后端生成的自定义消息
【问题讨论】:
标签: reactjs react-admin
看看Custom sagas,我在我的应用程序中使用自定义 saga 来做你想做的事情,我有 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 表单并在表单中标记为错误
【讨论】: