|string> */ public function rules(): array { return [ 'name' => ['required', 'max:100'], 'description' => ['nullable'], 'year' => ['required'], 'slug' => ['required'], 'enhancer_id' => ['required'], ]; } public function messages(): array { return [ 'name.required' => 'Nama harus diisi.', 'name.max' => 'Nama tidak boleh lebih dari 100 karakter.', 'year.required' => 'Tahun harus diisi.', 'description.nullable' => 'Deskripsi bersifat opsional.', ]; } protected function prepareForValidation() { $this->merge([ 'slug' => filled($this->name) ? Str::slug($this->name) : null, 'enhancer_id' => Auth::check() ? Auth::id() : null, ]); } }