refactor ClientWidgetFormController; replace validation logic with SubmitWidgetFormAction for improved maintainability and clarity

This commit is contained in:
F4ilji
2025-07-22 13:00:18 +05:00
parent eac29d8d1c
commit 7a8a6e023d
6 changed files with 186 additions and 99 deletions
@@ -0,0 +1,33 @@
<?php
namespace App\Containers\Widget\Tasks;
class GenerateWidgetFormValidationMessagesTask
{
public function run(array $columns): array
{
$messages = [];
foreach ($columns as $column) {
$name = $column['data']['name_field'];
if (!empty($column['data']['rules']['required'])) {
$messages[$name . '.required'] = 'Поле обязательно для заполнения.';
}
if (!empty($column['data']['rules']['min'])) {
$messages[$name . '.min'] = 'Минимальная длина поля должна быть ' . $column['data']['rules']['min'] . ' символов.';
}
if (!empty($column['data']['rules']['max'])) {
$messages[$name . '.max'] = 'Максимальная длина поля должна быть ' . $column['data']['rules']['max'] . ' символов.';
}
if (!empty($column['data']['rules']['unique'])) {
$messages[$name . '.unique'] = 'Поле должно быть уникальным';
}
}
return $messages;
}
}