php Laravel Filament FileUpload不支持filled()

pu82cl6c  于 2023-10-15  发布在  PHP
关注(0)|答案(2)|浏览(133)

我在我的项目中使用Laravel Filament。当我创建一个输入如下:

TextInput::make("title")->filled()

当我尝试提交一个空的标题字段时,它会显示一个通知。
但是相同的filled()函数不能用于FileUpload。当我提交没有图像的表单时,表单会在没有通知的情况下继续。我错过了什么?

FileUpload::make('image')
                ->columnSpan('full') 
                ->filled()
                ->disk('public')
                ->directory('gallery')
                ->visibility('public')
                ->imageResizeMode('force')
                ->imageCropAspectRatio('8:5')
                ->imageResizeTargetWidth('800')
                ->imageResizeTargetHeight('500')
                ->image()
                ->imageEditor()
wyyhbhjk

wyyhbhjk1#

尝试使用nullable方法,它会给你和filled相同的弹出窗口
但它会在标签后添加所需的CSS类。

FileUpload::make('image')
    ->columnSpan('full')
    // replace filled with nullable
    ->nullable(false)
    ->disk('public')
    ->directory('gallery')
    ->visibility('public')
    ->imageResizeMode('force')
    ->imageCropAspectRatio('8:5')
    ->imageResizeTargetWidth('800')
    ->imageResizeTargetHeight('500')
    ->image()
    ->imageEditor(),
a0x5cqrl

a0x5cqrl2#

如果要验证FileUpload字段以确保其包含文件,可以使用required()验证规则

FileUpload::make('image')
    ->columnSpan('full')
    ->required()
    ->disk('public')
    // the rest of your code
    ;

或名为ImageRequired的自定义验证规则。

相关问题