javascript - Laravel 5 验证 - 作为 json/ajax 返回

标签 javascript php jquery laravel laravel-5

我正在尝试将值发布到验证中并以 json 形式返回响应,而不是文档中给出的 return view

    $validator = Validator::make($request->all(), [
        'about' => 'min:1'
    ]);

    if ($validator->fails()) {
        return response()->json(['errors' => ?, 'status' => 400], 200);
    } 

帖子是通过 ajax 生成的,所以我也需要在 ajax 中接收响应。

我想通了,为了防止在返回响应中刷新页面,我必须在数组外给它一个状态码 200。但是我不知道该给 'errors' 部分什么。我应该在那里写什么?

最佳答案

您可以使用 $validator->messages() 返回一个数组,其中包含有关验证器的所有信息,包括错误。 json 函数获取数组并将其编码为 json 字符串。

if ($validator->fails()) {    
    return response()->json($validator->messages(), Response::HTTP_BAD_REQUEST);
}

注意:在验证错误的情况下,最好不要返回响应代码 200。您可以使用其他状态代码,如 400 或 Response::HTTP_BAD_REQUEST

关于javascript - Laravel 5 验证 - 作为 json/ajax 返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32555058/

相关文章:

javascript - 使用 javascript 或 jquery 移调音乐

php - Codeigniter:将 MySql 日期时间与当前日期进行比较

jquery - 如何使用 jquery 刷新 Bootstrap 模式

javascript - 如何将 Redux 与 Reactjs 结合使用 - 以这个基本的 d3.js 图表为例

javascript - 使用服务器值填充下拉菜单 - knockout.js

php - 学说问题;如果将项目添加到关系,则无法保留实体

php - 如何从phpmyadmin自动生成ID

jquery - 改变图像CSS jquery的动画

javascript - 如何取消选中多个选定的选择器中的选项

javascript - 基于选择更改或输入条目的 JQuery 启用和禁用