Код:
public function specificationsave(Request $request) {
if (!empty($request->product_id)) {
if (empty($request->specificationkeys) && empty($request->specificationvalues)) {
return response()->json(["message" => 'Empty form submitted'], 202);
} else {
// something code
}
} else {
return response()->json(["message" => 'something went wrong with product'], 403);
}
}
Код формы:
<input type = "text" name = "specificationkeys[]"/>
<input type = "text" name = "specificationvalues[]"/>
Проблема:
Когда я помещаю пустое условие в свой массив specificationkeys, оно не работает, потому что мой ключ имеет пустой массив, поэтому я могу проверить, есть ли у ключа массив или нет, или поскольку я хочу пустую проверку без валидатора, потому что поля не являются обязательными.






например, product_id возвращается как условие проверки array, подобное этому
if ($request->product_id && is_array($request->product_id) && count($request->product_id) > 0) {
//success validation
}else {
//failed validation
}
Попробуй это:
public function specificationsave(Request $request) {
if (isset($request->product_id) && !empty($request->product_id)) {
if (is_array($request->specificationkeys) &&
count($request->specificationkeys) !== 0 &&
is_array($request->specificationvalues) &&
count($request->specificationvalues) !== 0) {
return response()->json(["message" => 'Empty form submitted'], 202);
} else {
// something code
}
} else {
return response()->json(["message" => 'something went wrong with product'], 403);
}
}
что, если массив файлов передается для запроса, как я могу проверить изображения в этом
используйте для этого простую функцию подсчета.
if (count($request->specificationkeys) == 0 && count($request->specificationvalues) == 0){
//your logic for empty
}else{
//Your logic for not empty
}
покажите нам
dd($request->specificationkeys)иdd($request->specificationvalues)