mergeInertiaPicture(); } /** * Get the validation rules that apply to the request. * * @return array|string> */ public function rules(): array { return [ 'seo_title' => 'required|string|between:3,255', 'seo_description' => 'required|string|between:3,255', 'title' => 'required|string|between:3,255', 'slug' => 'required|string|between:3,255', 'picture' => $this->pictureRules("nullable|file|mimes:jpg,jpeg,png,webp|max:5120|dimensions:width=525,height=295"), 'picture_alt' => 'nullable|string|between:3,60', 'picture_title' => 'nullable|string|between:3,60', 'content' => 'required|string', 'status' => ['required', new Enum(NewsStatusEnum::class)], 'categories' => 'nullable|array', 'categories.*' => ['integer', new Enum(NewsCategoryEnum::class)], 'published_at' => 'nullable|date', 'unpublished_at' => 'nullable|date|after:published_at', ]; } /** * Get custom attributes for validator errors. * * @return array */ public function attributes(): array { return [ 'seo_title' => trans('validation.custom.seo.title'), 'seo_description' => trans('validation.custom.seo.description'), 'title' => trans('validation.attributes.title'), 'slug' => trans('validation.custom.slug'), 'categories' => trans('validation.custom.categories'), 'picture' => trans('validation.attributes.image'), 'picture_alt' => trans('validation.custom.image_alt'), 'picture_title' => trans('validation.custom.image_title'), 'status' => trans('validation.custom.status'), 'content' => trans('validation.attributes.content'), 'published_at' => trans('validation.custom.published_at'), 'unpublished_at' => trans('validation.custom.unpublished_at'), ]; } }