ldc-com-app-bo/app/Http/Requests/Api/SendFlyerRequest.php

57 lines
1.9 KiB
PHP
Raw Permalink Normal View History

<?php
namespace App\Http\Requests\Api;
use Illuminate\Foundation\Http\FormRequest;
2025-05-20 16:20:23 +02:00
use Illuminate\Validation\Rule;
2025-05-28 15:16:35 +02:00
/** FIXME: currently not used but will be in the future. */
class SendFlyerRequest extends FormRequest
{
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules(): array
{
return [
'emails.email' => [
2025-05-20 16:20:23 +02:00
'required',
'email:rfc,strict,dns,spoof,filter',
Rule::exists('contacts', 'email')->where(function ($query) {
$query->whereIn('app_user_id', function ($subQuery) {
$subQuery->select('id')->from('app_users')->where('tenant_id', $this->tenant);
});
}),
2025-05-20 16:20:23 +02:00
],
'emails.subject' => 'required|string|between:3,255',
'emails.message' => 'required|string|min:3',
'emails.app_user_id' => [
2025-05-20 16:20:23 +02:00
'required',
'integer',
Rule::exists('app_users', 'id')->where('tenant_id', $this->tenant)
2025-05-20 16:20:23 +02:00
],
'emails.documents' => 'required|array|min:1',
'emails.documents.*.title' => 'required|string|min:3',
'emails.documents.*.uuid' => 'required|string|min:3',
'emails.documents.*.type' => 'required|string|min:1',
];
}
/**
* Get custom attributes for validator errors.
*
* @return array
*/
public function attributes(): array
{
return [
'emails.email' => trans('validation.attributes.email'),
'emails.subject' => trans('validation.attributes.subject'),
'emails.message' => trans('validation.attributes.message'),
'emails.app_user_id' => trans('models.classes.app_user'),
];
}
}