【问题标题】:Get form errors using ajax laravel 5.2使用 ajax laravel 5.2 获取表单错误
【发布时间】:2016-05-09 18:15:53
【问题描述】:

我有点绑定,我正在尝试从 jquery 验证我的表单并将验证与 laravel 验证器链接。我想知道如何使用 jquery 或 javascript 中的 laravel 错误拉回 JSON 响应。

谁能给我指出正确的方向

这是我的控制器存储方法的代码

 public function Postdata(PostRequest $request) {

           try {
        $input = $request->all();
        $task = Task::create($input);
        return Response::json([ 'response'=>'success', 'data'=>$task ]);
     } catch (Exception $e) {
        return Response::json([  'errors'=> [ ['message' => $e->getMessage()] ] ]);
         }

        }

和我的 jquery

` $("#from").submit(function(event) {

$.ajax({
  type: 'post',
  url: '/myproperties/save',
  data: { '_token': token, 'data': "good" },
  dataType: 'json',
  success: function(data){
  console.log(data);
  },
  error: function(data){
    var errors = data.responseJSON;
    console.log(errors);
    // Render the errors with js ...
  }
});
});

`

谢谢帮忙

【问题讨论】:

    标签: javascript php jquery ajax laravel-5.2


    【解决方案1】:

    你可以试试 laravel 的 Validation 方法

     public function Postdata(PostRequest $request) {
    
        try {
            $input = $request->all();
            $validator = \Validator::make($request->all(), [
                    'title' => 'required|unique:posts|max:255',
                    'body' => 'required',
                ]);
    
            if ($validator->fails()) {
                return Response::json([ 'response'=>'error', $validator->errors()->all()]);
            }    
            $task = Task::create($input);    
            return Response::json([ 'response'=>'success', 'data'=>$task ]);
        } catch (Exception $e) {
            return Response::json([  'errors'=> [ ['message' => $e->getMessage()] ] ]);
        }
    
    }
    

    【讨论】:

    • 为什么要把它包装在 try catch 块中?
    • 因为如果请求因任何原因失败,应用程序将陷入返回请求错误的异常。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-21
    • 2016-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-17
    • 1970-01-01
    相关资源
    最近更新 更多