如何在Laravel中进行json数组验证



我有一个类似json的数组,它的问题有限。

{
"section_slug": "personal_info",
"questions": [
{
"question_slug":"whats-your-hobbies",
"answers":[
{
"answer_slug":"Cooking",
"answer":"Cooking"
},
]
},
{
"question_slug": "education",
"answers": [
{
"answer_slug": "Masters",
"answer": "Masters"
}
]
},
{
"question_slug": "state",
"answers": [
{
"answer_slug": "Alaska",
"answer": "Alaska"
}
]
},
]

}

我想需要预期的前哨是:

  1. "section_slug是必需的">
  2. "需要教育">
  3. "需要教育答案">
  4. "状态是必需的">
  5. "需要状态回答">

如果用户没有添加类似"城市"的撤销所以需要显示错误的城市是必需的。

求你了,我需要你的支持。谢谢

如果您在接收来自表单的请求时使用此选项,那么在这种情况下,您最好使用请求类:

php artisan make:request StoreFormRequest
// app/Http/Requests/StoreFormRequest

并表示其中所有字段的规则:

public function rules()
{
return [
'section_slug' => 'required|regex:/^[a-z-0-9]+$/'
// ...
];
}
public function messages()
{
return [
'section_slug.required' => 'Slug is required.',
'section_slug.regex' => 'Slug has incorrectly format.'
];
}

如果未通过字段的验证,则不会执行控制器方法代码。像这样使用:

public function store(StoreFormRequest $request)
{
Form::create($request->validated());
}

最新更新