check() and $this->ajax(); } /** * Get the validation rules that apply to the request. * * @return array */ public function rules() { return [ 'user_id' => 'required|exists:users,id', 'date' => 'date_format:d/m/Y', 'activity' => [ 'required', new Enum(ActivityTypeEnum::class), function ($attribute, $value, $fail) { if ( \in_array($value, [ ActivityTypeEnum::dev->name(), ActivityTypeEnum::projects->name(), ]) and is_null($this->id_lie) ) { $fail(trans("$attribute : Il est obligatoire d'assigner un type d'élement lié au ticket")); } } ], 'slot' => [ 'required', new Enum(TableRowEnum::class) ], 'model_lie' => [ 'nullable', new Enum(CellModelEnum::class), ], 'id_lie' => [ 'required_with:model_lie', 'nullable', 'numeric', ], 'description' => 'required|string|min:3|max:90' ]; } /** * Get custom attributes for validator errors. * * @return array */ public function attributes(): array { return [ 'user_id' => \trans('utilisateur'), 'activity' => \trans('type d\'activitée'), 'model_lie' => \trans('type d\'élément lié'), 'id_lie' => \trans('élément lié'), 'slot' => \trans('ligne de la journée'), ]; } }