*/ public function rules(): array { return [ 'title' => ['required', 'string', 'max:255'], 'language' => ['required', 'string', 'in:fa,en,ar'], 'slide_count' => ['required', 'integer', 'min:3', 'max:30'], 'text' => ['required', 'string', 'min:20'], ]; } public function withValidator(Validator $validator): void { $validator->after(function (Validator $validator): void { /** @var Template $template */ $template = $this->route('template'); if (! $template->is_ai_enabled) { $validator->errors()->add('template', 'این قالب برای ساخت پاورپوینت با هوش مصنوعی فعال نیست.'); } }); } /** * @return array */ public function messages(): array { return [ 'title.required' => 'عنوان پاورپوینت الزامی است.', 'language.required' => 'زبان ارائه الزامی است.', 'language.in' => 'زبان انتخاب‌شده پشتیبانی نمی‌شود.', 'slide_count.required' => 'تعداد اسلاید الزامی است.', 'slide_count.min' => 'تعداد اسلاید باید حداقل :min باشد.', 'slide_count.max' => 'تعداد اسلاید باید حداکثر :max باشد.', 'text.required' => 'متن ورودی الزامی است.', 'text.min' => 'متن ورودی باید حداقل :min کاراکتر باشد.', ]; } }