php - 在 Laravel Ajax 请求验证中获取错误字段名称

标签 php jquery ajax twitter-bootstrap laravel

在 Laravel 5.1 项目中

我收到此 Ajax 响应错误

{"errors":["The Address Name field is required.","The Recipient field is required.","The Address field is required."]}

如果它不是验证中的 Ajax 响应,我们将使用 has 方法来确定哪个字段有错误。

如您所见,存在 3 个字段有错误。我正在使用 twitter-bootstrap,我想像图片一样显示这些错误

enter image description here

如何获取字段名称?我需要一个像普通请求一样的 has 方法。

最佳答案

最简单的方法是利用验证器的 MessageBag 对象。它返回键上的字段名称。这可以像这样完成:

// Setup the validator
$rules = array('email' => 'required|email', 'password' => 'required');
$validator = Validator::make(Input::all(), $rules);

// Validate the input and return correct response
if ($validator->fails())
{
    return Response::json(array(
        'success' => false,
        'errors' => $validator->getMessageBag()->toArray()

    ), 400); // 400 being the HTTP code for an invalid request.
}
return Response::json(array('success' => true), 200);

这会给你一个像这样的 JSON 响应:

{
    "success": false,
    "errors": {
        "email": [
            "The E-mail field is required."
        ],
        "password": [
            "The Password field is required."
        ]
    }
}

关于php - 在 Laravel Ajax 请求验证中获取错误字段名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33339768/

相关文章:

PHP 将 Unix 时间转换为 ISO 并减去一个小时

php - 如何将数组解析为变量(PHP)?

javascript - jquery - 如何通过 html 正文中的脚本区分用户操作和操作?

javascript - 使用AJAX解析XML : Image Link : undefined?

javascript - jQuery:ajax调用成功后返回数据

php - 如何增加大空间

php - 链接两个 Controller get() cakephp

javascript - 如何居中对齐 TemplateField 的标题文本?

jquery - Elasticsearch 查询 - 如何聚合时间戳并按术语过滤?

javascript - 尝试映射 Yelp API 响应