Я пытаюсь воспроизвести панель электронной почты с CodeIgniter4. У меня проблема с представлением о отправке электронной почты. Проблема: проверка не удается, если я сначала установил массив с именами прикрепленных файлов. < /P>
//Before redirect by mistake
$filenames = [];
$files = $request->getFiles();
//dd($files);
if (isset($files['attachments'])) {
foreach ($files['attachments'] as $file) {
$filenames[] = $file->getClientName();
}
}
< /code>
в контроллере < /p>
public function form()
{
helper(['form']);
if (!session()->getFlashdata('_ci_old_input')) {
session()->remove('temp_attachments');
}
return view('Modules\Test\Views\form_mail', [
'validation' => session('validation'),
'old' => session()->getFlashdata('_ci_old_input'),
'tempFiles' => session()->get('temp_files') ?? [],
]);
}
public function send()
{
helper(['form', 'filesystem']);
$request = service('request');
$body = $request->getPost('body');
$plainBody = trim(strip_tags($body));
//Before redirect by mistake
/* $filenames = [];
$files = $request->getFiles();
//dd($files);
if (isset($files['attachments'])) {
foreach ($files['attachments'] as $file) {
$filenames[] = $file->getClientName();
}
} */
$validation = \Config\Services::validation();
$rules = [
'to' => 'required|valid_email',
'subject' => 'required|min_length[3]',
//'body' => 'required',
];
if (!$this->validate($rules) || $plainBody === '') {
if ($plainBody === '') {
$validation->setError('body', 'The Text field is mandatory.');
}
return redirect()->back()
->withInput()
->with('validation', $validation);
}
//...
}
< /code>
Форма теста Mail < /p>
Test Form Mail
[*]
Подробнее здесь: https://stackoverflow.com/questions/796 ... deigniter4