Валидация
Вы просматриваете документацию старой версии MoonShine. Рассмотрите возможность обновления вашего проекта до MoonShine 2.x.
-
Разделы
# Основы
Валидация выполнена так же просто, как и в FormRequests
классах от Laravel.
Достаточно в привычной нам манере добавлять правила в методе rules()
ресурса.
namespace MoonShine\Resources; use MoonShine\Models\MoonshineUser; class PostResource extends Resource{ public static string $model = App\Models\Post::class; public static string $title = 'Articles'; //... public function rules($item): array { return [ 'title' => ['required', 'string', 'min:5'] ]; } //...}
# Сообщения
Используя метод validationMessages()
можно создать свои сообщения об ошибках валидации
namespace MoonShine\Resources; use MoonShine\Models\MoonshineUser; class PostResource extends Resource{ public static string $model = App\Models\Post::class; //... public function validationMessages(): array { return [ 'email.required' => 'Required email' ]; } //...}
# Подготовка входных данных для проверки
Если вам нужно подготовить или очистить какие-либо данные из запроса, прежде чем применять свои правила проверки,
вы можете использовать метод prepareForValidation()
.
namespace MoonShine\Resources; use MoonShine\Models\MoonshineUser; class PostResource extends Resource{ public static string $model = App\Models\Post::class; //... public function prepareForValidation(): void { request()?->merge([ 'email' => request() ?->string('email') ->lower() ->value() ]); } //...}