Bladeren bron

fix issue

bovenliggende
commit
51be17eeba
1 gewijzigde bestanden met toevoegingen van 57 en 15 verwijderingen
  1. 57
    15
      app/Filament/Resources/EsgResource.php

+ 57
- 15
app/Filament/Resources/EsgResource.php Bestand weergeven

@@ -50,7 +50,10 @@ class EsgResource extends Resource
50 50
                             TextInput::make('title')
51 51
                             ->label("標題")
52 52
                             ->columnSpan(1)
53
-                            ->required($locale == "zh_TW"),
53
+                            ->required($locale == "zh_TW")
54
+                            ->validationMessages([
55
+                                'required' => '請填寫標題',
56
+                            ])
54 57
                         ])->locales(["zh_TW", "en"])
55 58
                         ->columnSpanFull()->columns(3),
56 59
                     ]),
@@ -58,15 +61,24 @@ class EsgResource extends Resource
58 61
                         FileUpload::make('banner_pc')->label("Banner (PC)")
59 62
                         ->disk("public")
60 63
                         // ->helperText('建議寬高限制為:1280*720px,檔案大小限制為1M以下')->maxSize('1024')
61
-                        ->directory("esg")->required(),
64
+                        ->directory("esg")->required()
65
+                        ->validationMessages([
66
+                            'required' => '請上傳圖片',
67
+                        ]),
62 68
                         FileUpload::make('banner_mobile')->label("Banner (Mobile)")
63 69
                         ->disk("public")
64 70
                         // ->helperText('建議寬高限制為:600*896px,檔案大小限制為1M以下')->maxSize('1024')
65
-                        ->directory("esg")->required(),
71
+                        ->directory("esg")->required()
72
+                        ->validationMessages([
73
+                            'required' => '請上傳圖片',
74
+                        ]),
66 75
                         Translate::make()->schema(fn (string $locale) => [
67 76
                             TextInput::make('banner_alt')
68 77
                             ->label("Banner 圖片註釋")
69
-                            ->required($locale == "zh_TW"),
78
+                            ->required($locale == "zh_TW")
79
+                            ->validationMessages([
80
+                                'required' => '請填寫圖片註釋',
81
+                            ]),
70 82
                             Textarea::make("description")->rows(5)->columnSpanFull()->label("短文"),
71 83
                         ])->locales(["zh_TW", "en"])
72 84
                         ->columnSpanFull(),
@@ -95,7 +107,10 @@ class EsgResource extends Resource
95 107
                                     ->fileAttachmentsDirectory('attachments')
96 108
                                     ->fileAttachmentsVisibility('private')
97 109
                                     ->disableToolbarButtons(['attachFiles'])
98
-                                    ->required($locale == "zh_TW"),
110
+                                    ->required($locale == "zh_TW")
111
+                                    ->validationMessages([
112
+                                        'required' => '請填寫文字內容',
113
+                                    ]),
99 114
                                 ])
100 115
                                 ->locales(["zh_TW", "en"])
101 116
                                 ->id(fn ($get) => "para_text_" . $get('item_key')),
@@ -126,7 +141,10 @@ class EsgResource extends Resource
126 141
                                             //     ->visible(fn (Get $get) => in_array($get('block_type'), ['title', 'subtitle', 'highlight'])),
127 142
                                             RichEditor::make('block_content')
128 143
                                                 ->disableToolbarButtons(['attachFiles'])
129
-                                                ->required($locale == "zh_TW"),
144
+                                                ->required($locale == "zh_TW")
145
+                                                ->validationMessages([
146
+                                                    'required' => '請填寫文字內容',
147
+                                                ]),
130 148
                                         ])
131 149
                                         ->locales(["zh_TW", "en"])
132 150
                                         ->id(fn ($get) => "text_block_" . $get('block_item_key')),
@@ -192,7 +210,10 @@ class EsgResource extends Resource
192 210
                                     Translate::make()->schema(fn (string $locale) => [
193 211
                                         Grid::make(2)  // 改用 Grid 來支援動態 columns
194 212
                                             ->schema([
195
-                                                TextInput::make('content.head1')->label('標題第1欄')->required(),
213
+                                                TextInput::make('content.head1')->label('標題第1欄')->required()
214
+                                                ->validationMessages([
215
+                                                    'required' => '請填寫',
216
+                                                ]),
196 217
                                                 Radio::make('content.head_align1')
197 218
                                                     ->label('對齊')
198 219
                                                     ->options([
@@ -201,7 +222,10 @@ class EsgResource extends Resource
201 222
                                                         3 => '置右'
202 223
                                                     ])
203 224
                                                     ->default(1),
204
-                                                TextInput::make('content.head2')->label('標題第2欄')->required(),
225
+                                                TextInput::make('content.head2')->label('標題第2欄')->required()
226
+                                                ->validationMessages([
227
+                                                    'required' => '請填寫',
228
+                                                ]),
205 229
                                                 Radio::make('content.head_align2')
206 230
                                                     ->label('對齊')
207 231
                                                     ->options([
@@ -260,7 +284,10 @@ class EsgResource extends Resource
260 284
                                                         RichEditor::make('col1')
261 285
                                                             ->label('第1欄')
262 286
                                                             ->disableToolbarButtons(['attachFiles'])
263
-                                                            ->required($locale == "zh_TW"),
287
+                                                            ->required($locale == "zh_TW")
288
+                                                            ->validationMessages([
289
+                                                                'required' => '請填寫',
290
+                                                            ]),
264 291
                                                         // TextInput::make('col2')->label('第2欄')->required(),
265 292
                                                         Radio::make('align2')
266 293
                                                             ->label('對齊')
@@ -273,7 +300,10 @@ class EsgResource extends Resource
273 300
                                                         RichEditor::make('col2')
274 301
                                                             ->label('第2欄')
275 302
                                                             ->disableToolbarButtons(['attachFiles'])
276
-                                                            ->required($locale == "zh_TW"),
303
+                                                            ->required($locale == "zh_TW")
304
+                                                            ->validationMessages([
305
+                                                                'required' => '請填寫',
306
+                                                            ]),
277 307
                                                         Radio::make('align3')
278 308
                                                             ->label('對齊')
279 309
                                                             ->options([
@@ -287,7 +317,10 @@ class EsgResource extends Resource
287 317
                                                             ->label('第3欄')
288 318
                                                             ->disableToolbarButtons(['attachFiles'])
289 319
                                                             ->visible(fn (Get $get) => intval($get('../../../content.column_count')) >= 3)
290
-                                                            ->required($locale == "zh_TW" && fn (Get $get)=> intval($get("../../../content.column_count")) >= 3),
320
+                                                            ->required($locale == "zh_TW" && fn (Get $get)=> intval($get("../../../content.column_count")) >= 3)
321
+                                                            ->validationMessages([
322
+                                                                'required' => '請填寫',
323
+                                                            ]),
291 324
                                                             Radio::make('align4')
292 325
                                                                 ->label('對齊')
293 326
                                                                 ->options([
@@ -301,7 +334,10 @@ class EsgResource extends Resource
301 334
                                                                 ->label('第4欄')
302 335
                                                                 ->disableToolbarButtons(['attachFiles'])
303 336
                                                                 ->visible(fn (Get $get) => intval($get('../../../content.column_count')) >= 4)
304
-                                                                ->required($locale == "zh_TW" && fn (Get $get)=> intval($get("../../../content.column_count")) >= 4),
337
+                                                                ->required($locale == "zh_TW" && fn (Get $get)=> intval($get("../../../content.column_count")) >= 4)
338
+                                                                ->validationMessages([
339
+                                                                    'required' => '請填寫',
340
+                                                                ]),
305 341
                                                     ])
306 342
                                                     ->reactive()  // 加入響應式
307 343
                                             ])->locales(["zh_TW", "en"]),
@@ -325,13 +361,16 @@ class EsgResource extends Resource
325 361
                                             }),
326 362
                                         Translate::make()->schema(fn (string $locale) => [
327 363
                                             TextInput::make('image_alt')->label("圖片註文")
328
-                                            ->required($locale == "zh_TW"),
329 364
                                         ])->locales(["zh_TW", "en"])
330 365
                                         ->id(fn ($get) => "para_img_mul_" . $get('para_img_item_key')),
331 366
                                         FileUpload::make('image_url')->label("")->disk("public")
332 367
                                         // ->helperText('建議寬高限制為:1080*675px,檔案大小限制為1M以下')->maxSize('1024')
333 368
                                         ->directory("esg/paragraphPhoto")
334
-                                        ->maxFiles(10),
369
+                                        ->maxFiles(10)
370
+                                        ->required()
371
+                                        ->validationMessages([
372
+                                            'required' => '請上傳圖片',
373
+                                        ]),
335 374
                                     ])
336 375
                                     ->addActionLabel('新增')
337 376
                                     ->label("")
@@ -344,7 +383,10 @@ class EsgResource extends Resource
344 383
                                     ->disk("public")
345 384
                                     ->directory("esg/paragraphVideo")
346 385
                                     ->helperText('建議寬高限制為:2000*720px,出血寬度720px,主要圖像範圍為:1280*720px,檔案大小限制為1M以下')->maxSize('1024'),
347
-                                    TextInput::make('content.link')->label("網址")->required(),
386
+                                    TextInput::make('content.link')->label("網址")->required()
387
+                                    ->validationMessages([
388
+                                        'required' => '請附上連結',
389
+                                    ]),
348 390
                                     Translate::make()->schema(fn (string $locale) => [
349 391
                                         TextInput::make('content.video_alt')->label("影片註文"),
350 392
                                     ])->locales(["zh_TW", "en"])