Vue.js在Flash组件中显示Laravel错误

时间:2019-02-06 06:17:25

标签: php laravel vue.js

在控制器中,我有一个方法可以验证请求。我有自定义错误,请参见代码:

public function createComment(Request $request) {
   $request->validate(['body' => 'string|min:10', 'type' => 'integer']);

   if($this->lastComment(Auth::user()->id)) {
      return response()->json(['errors' => 'Please try after 24 hours..'], 422);
   } else {
      $comment = Comment::create($request->all());
      return $comment;
   }
}

在Vue中,我有axios:

   axios.post('/createReview', {
                    body: this.body,
                    user_id: this.user_id,
                    type: this.type,
                }).then(response => {
                    this.$emit('created', response.data);

                }).catch(error => {
                    this.isLoading = false;
                    this.flash(error.response.data, 'error');
                });

如何在组件闪存上正确发送这些错误?当组件出现错误时,我得到[Object object]。我使用以下Flash软件包:https://www.npmjs.com/package/vue-flash-message

1 个答案:

答案 0 :(得分:0)

该组件一次只会呈现一条消息,而您正在向其传递一个对象。

this.flash(error.response.data.errors, 'error');