Основы
Валидация так же проста, как и в классах FormRequests
, предоставляемых Laravel.
Вы можете просто добавить правила в метод rules()
ресурса обычным способом.
namespace App\MoonShine\Resources; use MoonShine\Resources\ModelResource; class PostResource extends ModelResource{ //... public function rules($item): array { return [ 'title' => ['required', 'string', 'min:5'] ]; } //...}
Отображение ошибок валидации
За отображение ошибок валидации в верхней части формы отвечает параметр ресурса $errorsAbove
. По умолчанию значение true
, что означает, что ошибки валидации будут отображаться.
Чтобы скрыть ошибки валидации в верхней части формы, установите параметр ресурса $errorsAbove
в значение false
.
namespace App\MoonShine\Resources; use MoonShine\Resources\ModelResource; class PostResource extends ModelResource{ //... protected bool $errorsAbove = false; //...}
Сообщения
Используя метод validationMessages()
, вы можете создавать свои собственные сообщения об ошибках валидации.
namespace App\MoonShine\Resources; use MoonShine\Resources\ModelResource; class PostResource extends ModelResource{ //... public function validationMessages(): array { return [ 'email.required' => 'Требуется email' ]; } //...}
Подготовка входных данных для валидации
Если вам нужно подготовить или очистить какие-либо данные из запроса перед применением правил валидации, вы можете использовать метод prepareForValidation()
.
namespace App\MoonShine\Resources; use MoonShine\Resources\ModelResource; class PostResource extends ModelResource{ //... public function prepareForValidation(): void { request()?->merge([ 'email' => request() ?->string('email') ->lower() ->value() ]); } //...}