feat: add labels to form fields and configure global validation attribute mapping to field labels

This commit is contained in:
Yoga Pangestu 2026-04-09 13:14:01 +07:00
parent 075ba0d279
commit d7d53c0e8b
3 changed files with 11 additions and 0 deletions

View File

@ -69,6 +69,7 @@ public static function configure(Schema $schema): Schema
Section::make('NIk Direktur') Section::make('NIk Direktur')
->schema([ ->schema([
TextInput::make('director_nik') TextInput::make('director_nik')
->label('NIK Direktur')
->hiddenLabel() ->hiddenLabel()
->placeholder('32***') ->placeholder('32***')
->autocomplete(false) ->autocomplete(false)
@ -79,6 +80,7 @@ public static function configure(Schema $schema): Schema
->regex('/^[0-9]+$/'), ->regex('/^[0-9]+$/'),
AdvancedFileUpload::make('director_nik_docs') AdvancedFileUpload::make('director_nik_docs')
->label('Dokumen NIK Direktur')
->hiddenLabel() ->hiddenLabel()
->disk(config('filesystems.default')) ->disk(config('filesystems.default'))
->acceptedFileTypes(['image/*']) ->acceptedFileTypes(['image/*'])
@ -94,6 +96,7 @@ public static function configure(Schema $schema): Schema
return Section::make(fn () => $doc['title']) return Section::make(fn () => $doc['title'])
->schema([ ->schema([
TextInput::make($doc['text_name']) TextInput::make($doc['text_name'])
->label($doc['title'])
->hiddenLabel() ->hiddenLabel()
->placeholder($doc['placeholder']) ->placeholder($doc['placeholder'])
->autocomplete(false) ->autocomplete(false)
@ -101,6 +104,7 @@ public static function configure(Schema $schema): Schema
->maxLength($doc['max']), ->maxLength($doc['max']),
AdvancedFileUpload::make($doc['file_name']) AdvancedFileUpload::make($doc['file_name'])
->label('Dokumen '.$doc['title'])
->hiddenLabel() ->hiddenLabel()
->disk(config('filesystems.default')) ->disk(config('filesystems.default'))
->acceptedFileTypes($doc['accept']) ->acceptedFileTypes($doc['accept'])

View File

@ -73,6 +73,7 @@ public static function configure(Schema $schema): Schema
return Section::make(fn () => $doc['title']) return Section::make(fn () => $doc['title'])
->schema([ ->schema([
TextInput::make($doc['text_name']) TextInput::make($doc['text_name'])
->label($doc['title'])
->hiddenLabel() ->hiddenLabel()
->placeholder($doc['placeholder']) ->placeholder($doc['placeholder'])
->autocomplete(false) ->autocomplete(false)
@ -80,6 +81,7 @@ public static function configure(Schema $schema): Schema
->maxLength($doc['max']), ->maxLength($doc['max']),
AdvancedFileUpload::make($doc['file_name']) AdvancedFileUpload::make($doc['file_name'])
->label('Dokumen '.$doc['title'])
->hiddenLabel() ->hiddenLabel()
->disk(config('filesystems.default')) ->disk(config('filesystems.default'))
->acceptedFileTypes($doc['accept']) ->acceptedFileTypes($doc['accept'])

View File

@ -2,6 +2,7 @@
namespace App\Providers; namespace App\Providers;
use Filament\Forms\Components\Field;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\URL; use Illuminate\Support\Facades\URL;
use Illuminate\Support\ServiceProvider; use Illuminate\Support\ServiceProvider;
@ -59,5 +60,9 @@ public function boot(): void
if (! app()->environment('local')) { if (! app()->environment('local')) {
URL::forceScheme('https'); URL::forceScheme('https');
} }
Field::configureUsing(function (Field $field): void {
$field->validationAttribute(fn (Field $component) => $component->getLabel());
});
} }
} }