# Основы
Валидация выполнена так же просто, как и в 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' => '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() ]); } //...}