调用数组上的成员函数validate()



我现在正在做一个项目,需要你的帮助。我正在使用Laravel编程,我得到这个错误:'调用数组上的成员函数validate() '

这是我的存储方法

public function store()
{
$data = $this->check();
switch ($data) {
case (0):
return redirect()->back()->with('error', 'Dieses Produkt ist nicht vorhanden');
case (1):
return redirect()->back()->with('error', 'Das Produkt mit dieser Liefer-Nummer ist bereits vorhanden');
default:
Product::create($data)->save();
return redirect('/');
}
}

这是检查方法

public function check()
{
$i = 0;
foreach(Validation::all() as $valid)
{
$validation[$i] = [
'id' => $valid->id,
'Produkt' => $valid->Produkt,
'PHmax' => $valid->PHmax,
'PHmin' => $valid->PHmin,
'Wassermax' => $valid->Wassermax,
'Wassermin' => $valid->Wassermin,
'Dichtemax' => $valid->Dichtemax,
'Dichtemin' => $valid->Dichtemin,
];
$i = $i + 1;
}
$data = [
'LieferNr' => request()->LieferNr,
'Produkt' => request()->Produkt,
'PH' => request()->PH,
'Wasser' => request()->Wasser,
'Dichte' => request()->Dichte,
'Bearbeiter' => request()->Bearbeiter,
];
$bigdata = Product::all();
foreach(Validation::all() as $valid){
foreach($bigdata as $bigdata){
if($data['LieferNr'] == $bigdata->LieferNr){
return 1;
}
}
if(in_array($data['Produkt'], $validation[0]) || in_array($data['Produkt'], $validation[1] ))
{
$PHmax = $valid->PHmax;
$PHmin = $valid->PHmin;
$Wassermax = $valid->Wassermax;
$Wassermin = $valid->Wassermin;
$Dichtemax = $valid->Dichtemax;
$Dichtemin = $valid->Dichtemin;
return $data->validate([
'LieferNr' => ['required', 'min:5', 'max:5'],
'Produkt' => ['required'],
'PH' => ['required', 'numeric', "min:$PHmin", "max:$PHmax"],
'Wasser' => "required|numeric|min:$Wassermin|max:$Wassermax",
'Dichte' => "required|numeric|min:$Dichtemin|max:$Dichtemax",
'Bearbeiter' => ['required'],
]);
}
else
{
return 0;
}
}
}

当我执行$data->validate(…)时发生错误我对Laravel很陌生,如果你能帮助我,我会很高兴:)

我明白你的问题了这是因为您正在对数组$data 调用validate
return $data->validate([
'LieferNr' => ['required', 'min:5', 'max:5'],
'Produkt' => ['required'],
'PH' => ['required', 'numeric', "min:$PHmin", "max:$PHmax"],
'Wasser' => "required|numeric|min:$Wassermin|max:$Wassermax",
'Dichte' => "required|numeric|min:$Dichtemin|max:$Dichtemax",
'Bearbeiter' => ['required'],
]);

请按照

use IlluminateSupportFacadesValidator;
$validator = Validator::make($data, [
'LieferNr' => ['required', 'min:5', 'max:5'],
'Produkt' => ['required'],
'PH' => ['required', 'numeric', "min:$PHmin", "max:$PHmax"],
'Wasser' => "required|numeric|min:$Wassermin|max:$Wassermax",
'Dichte' => "required|numeric|min:$Dichtemin|max:$Dichtemax",
'Bearbeiter' => ['required'],
]);
if($validator->fails()){
return 0;
}

最新更新