【问题标题】:Array validation in Laravel 5.2Laravel 5.2 中的数组验证
【发布时间】:2016-04-28 03:44:03
【问题描述】:

我正在 Laravel 中开发一个测验应用程序,我在使用 array validation 时遇到了一些问题。我在前端使用 AngularJS,并使用 ajax 将对象发送到 Laravel API。 这是一个示例 JSON 对象:

{"name":"TestName","category":"TestCategory","questions":[{"answers":[{"type":"radio","information":"Test answer two","is_correct":false,"$$hashKey":"object:28"},{"type":"radio","information":"Test answer One","is_correct":false,"$$hashKey":"object:22"}],"$$hashKey":"object:13","question_text":"Test Question One"}]} 

测验有名称、类别和问题。每个问题都必须有 question_text 和答案。每个答案都有类型、信息和 is_correct。

这是我写的验证:

   $this->validate($request, [
            'name' => 'required|min:3',
            'category' => 'required|min:2',
            'questions' => 'required',
            'questions.*.question_text' => 'required|min:5',
            'questions.*.answers' => 'required'

        ]);

名称和类别验证工作正常。第三个验证('questions => 'required')也可以正常工作。其余的验证什么都不做。 例如,

{"name":"SomeName","category":"SomeCategory","questions":[{}]}

尽管问题数组有一个没有答案或 question_text 字段的元素,但通过了验证。数组验证如何工作?

【问题讨论】:

    标签: php validation laravel laravel-5 laravel-5.2


    【解决方案1】:

    这是一个已知问题。

    有一个解决“必需”验证的公开拉取请求。你可以关注这个pull request here

    还有第二个拉取请求解决了“required_*”验证(required_with 等)的问题。你可以关注pull request here

    【讨论】:

    • 感谢您的回答。我从来没有从github上拉过东西,所以我不知道该怎么做。你能给我一些指示吗?我已经安装了 git (bash)。
    • @Kockar 这不是你做的事情。在某些时候,如果可以接受,Taylor 会将拉取请求合并到 Laravel,标记新版本,然后您需要运行 composer update 以获取最新的 Laravel 版本。您只需要密切关注拉取请求以查看它们何时被合并,因此您知道何时更新。
    猜你喜欢
    • 1970-01-01
    • 2016-12-29
    • 2016-08-28
    • 1970-01-01
    • 2016-08-05
    • 2016-03-28
    • 2016-12-27
    • 1970-01-01
    • 2016-07-09
    相关资源
    最近更新 更多