如何在 php 中验证和插入对象数组?
How to validate and insert array of objects in php?
我想验证对象数组并将其插入到我的数据库中。这是我的对象数组:(前端 js)
studentData: [
{id: 1, name: 'Juan'},
{id: 2, name: 'Jema'},
]
这是我当前 StudentController.php
的代码:
for($i; $i <= count($request->input()); $i++){
$student = Student::create([
'id' => $request[$i]["id"],
'name' => $request[$i]["name"],
]);
}
当我插入我的所有对象时,这非常有效。现在,我想验证所有请求。此代码无效:
$validate = $request[$i]->validate([
'id' => 'required|unique:students|numeric'
]);
for($i; $i <= count($request->input()); $i++){
$validate = $request[$i]->validate([
'id' => 'required|unique:students|numeric'
]); //this is the error. I cant validate the data foreach user
$student = Student::create([
'id' => $request[$i]["id"],
'name' => $request[$i]["name"],
]);
}
你必须像这样用点做数组输入验证:
$this->validate($request,[
'studentData.*.id' => 'required|unique:students|numeric',
'studentData.*.name' =>'required'
],
$messages = [
// write error messages
]);
希望您能理解。
您可以在此处查看 laravel 数组输入验证文档 https://laravel.com/docs/5.6/validation#validating-arrays
我想验证对象数组并将其插入到我的数据库中。这是我的对象数组:(前端 js)
studentData: [
{id: 1, name: 'Juan'},
{id: 2, name: 'Jema'},
]
这是我当前 StudentController.php
的代码:
for($i; $i <= count($request->input()); $i++){
$student = Student::create([
'id' => $request[$i]["id"],
'name' => $request[$i]["name"],
]);
}
当我插入我的所有对象时,这非常有效。现在,我想验证所有请求。此代码无效:
$validate = $request[$i]->validate([
'id' => 'required|unique:students|numeric'
]);
for($i; $i <= count($request->input()); $i++){
$validate = $request[$i]->validate([
'id' => 'required|unique:students|numeric'
]); //this is the error. I cant validate the data foreach user
$student = Student::create([
'id' => $request[$i]["id"],
'name' => $request[$i]["name"],
]);
}
你必须像这样用点做数组输入验证:
$this->validate($request,[
'studentData.*.id' => 'required|unique:students|numeric',
'studentData.*.name' =>'required'
],
$messages = [
// write error messages
]);
希望您能理解。
您可以在此处查看 laravel 数组输入验证文档 https://laravel.com/docs/5.6/validation#validating-arrays