laravel验证规则不接受数组的第一个索引

时间:2017-10-31 07:38:01

标签: php

/**
 * Store a newly created resource in storage.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return \Illuminate\Http\Response
 */
public function store(Request $request) {
    $rules = [
        'translations'                  => 'required|array',
        'translations.*.language_code'  => 'required|exists:app_languages,code',
        'translations.*.name'           => 'required'
    ];

    $this->validate($request, $rules);

    dd("OK");
}

我正在使用PostMan进行测试。对于数组的第二个参数,一切都没问题。但它不接受名称0索引或数组。

enter image description here

当我没有发送第一个索引时:

enter image description here

更新

这是邮差的错误。我添加了相同的参数然后替换它,它可以工作。

enter image description here

2 个答案:

答案 0 :(得分:0)

我认为这有助于你。

$rules = [];
if($request->has('translations'))
{
    $translations = $request->input('translations');
    foreach($translations as $key => $value)
    {
        $rules["translations.$key.$value"] = 'required';
    }
}

答案 1 :(得分:0)

这是邮差的错误。我添加了相同的参数然后替换它,它可以工作。

我不知道,为什么它不接受,现在接受大声笑。