You must specify exactly what you are validating:
$request->validate([
'request.video' => 'nullable|mimes:mp4',
'request.video_thumb' => 'required|mimes:jpg,png,jpeg',
'request.video_name' => 'required',
'request.video_desc' => 'nullable',
'request.available_download' => 'nullable',
], [
'request.video.mimes' => 'video file format is not valid',
'request.video_thumb.required' => 'uploading video thumbnail is required',
'request.video_name.required' => 'you must enter name of video',
'request.video_thumb.mimes' => 'image thumbnail file format is not valid',
]);
An example from my codes:
$requestData = $request->request_data;
// data
$company_name = $requestData['company_name'];
$company_type = $requestData['company_type'];
$company_address = $requestData['company_address'];
$latitude = $requestData['latitude'];
$longitude = $requestData['longitude'];
$company_branch_count = $requestData['company_branch_count'];
$yes_radio = strval($requestData['yes_radio']);
$no_radio = strval($requestData['no_radio']);
$company_contact_user_first_name = $requestData['company_contact_user_first_name'];
$company_contact_user_last_name = $requestData['company_contact_user_last_name'];
$company_contact_user_email = $requestData['company_contact_user_email'];
$company_contact_user_password = $requestData['company_contact_user_password'];
$company_contact_user_phone = $requestData['company_contact_user_phone'];
$company_kvkk_ok = strval($requestData['company_kvkk_ok']);
$shipping_method_yourself = $yes_radio === 'true' && $yes_radio != $no_radio ? 1 : 0;
if ($company_kvkk_ok == 'false') {
return json_encode([
'operation_status' => 'error',
'error_messages' => 'no',
]);
}
// Validate
$validator = Validator::make($request->all(), [
"request_data.company_name" => "required|string|min:5",
"request_data.company_type" => "required|in:0,1,2,3,4,5,6,7,8,9,10,11,12",
"request_data.company_address" => "required",
"request_data.latitude" => "required",
"request_data.longitude" => "required",
"request_data.company_branch_count" => "required|integer",
"request_data.yes_radio" => "required",
"request_data.no_radio" => "required",
"request_data.company_contact_user_first_name" => "required",
"request_data.company_contact_user_last_name" => "required",
"request_data.company_contact_user_email" => [
'required',
'email',
Rule::unique('users', 'email')->where(function ($query) use ($company_contact_user_email) {
return $query->where('email', $company_contact_user_email);
}),
Rule::unique('companies', 'company_contact_user_email')->where(function ($query) use ($company_contact_user_email) {
return $query->where('company_contact_user_email', $company_contact_user_email);
}),
],
"request_data.company_contact_user_password" => "required|min:6",
"request_data.company_contact_user_phone" => "required",
"request_data.company_kvkk_ok" => "required",
], [
'request_data.company_name.required' => __('company name required'),
'request_data.company_name.string' => __('company name must be string'),
'request_data.company_name.min' => __('company name must be at least 5 characters'),
'request_data.company_type.required' => __('company type required'),
'request_data.company_type.in' => __('company type invalid'),
'request_data.company_address.required' => __('company address required'),
'request_data.latitude.required' => __('latitude required'),
'request_data.longitude.required' => __('longitude required'),
'request_data.company_branch_count.required' => __('company branch count required'),
'request_data.company_branch_count.integer' => __('company branch count must be integer'),
'request_data.yes_radio.required' => __('yes radio required'),
'request_data.no_radio.required' => __('no radio required'),
'request_data.company_contact_user_first_name.required' => __('company contact user first name required'),
'request_data.company_contact_user_last_name.required' => __('company contact user last name required'),
'request_data.company_contact_user_email.required' => __('company contact user email required'),
'request_data.company_contact_user_email.email' => __('company contact user email invalid'),
'request_data.company_contact_user_email.unique' => __('email already taken'),
'request_data.company_contact_user_password.required' => __('company contact user password required'),
'request_data.company_contact_user_password.min' => __('company contact user password must be at least 6 characters'),
'request_data.company_contact_user_phone.required' => __('company contact user phone required'),
'request_data.company_kvkk_ok.required' => __('company kvkk ok required'),
]);
if ($validator->fails()) {
$messages = $validator->messages();
return json_encode([
'operation_status' => 'not_validated',
'request' => $requestData,
'messages' => $messages,
]);
}