【问题标题】:How can i use my custom http error msg that are in the response body in react-admin如何使用 react-admin 响应正文中的自定义 http 错误消息
【发布时间】:2019-08-13 15:15:30
【问题描述】:

我使用 laravel 作为后端和 react-admin 作为前端。 我的问题是 react-admin 正在使用基于 http 错误代码的默认错误消息我正在寻找一种方法来使用我在后端生成的自定义消息

【问题讨论】:

    标签: reactjs react-admin


    【解决方案1】:

    看看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 表单并在表单中标记为错误

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-13
      • 1970-01-01
      • 2012-12-07
      • 1970-01-01
      • 2020-01-14
      • 1970-01-01
      • 2017-12-31
      • 2015-09-22
      相关资源
      最近更新 更多