Прежде всего, вы хотите сделать это обязательным только при создании, поэтому вы должны использовать ->creationRules('required')
вместо ->rules('required')
.
Но тогда проблема заключается в том, что пользователь может удалить фотографию и сохранить ресурс без изображения.
Чтобы исправить это, вам просто нужно отключить функцию удаления в поле с помощью ->deletable(false)
.
Image::make('Top Image', 'hero_image')
->help('Upload an image to display as hero')
->disk('local')
->maxWidth(400)
->prunable()
->creationRules('required')
->deletable(false)
->hideFromIndex(),
Это позволит вам обновлять свой ресурс без необходимости каждый раз загружать изображение. И пользователь сможет заменить исходное изображение только другим.