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 EnumIsValidRule(ActivityType::class), function ($attribute, $value, $fail) { if ( \in_array($value, [ \strval(ActivityType::dev()->value), \strval(ActivityType::projects()->value), ]) and is_null($this->id_lie) ) { $fail(trans("$attribute : Il est obligatoire d'assigner un type d'élement lié au ticket")); } } ], 'slot' => [ 'required', new EnumIsValidRule(TableRow::class) ], 'model_lie' => [ 'nullable', new EnumIsValidRule(CellModel::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'), ]; } }