roles === UserRoles::superadmin()->value || Auth::user()->roles === UserRoles::admin()->value); } /** * Get the validation rules that apply to the request. * * @return array */ public function rules() { return [ 'coupon_code' => [ 'required', Rule::unique('coupon', 'coupon_code') ], 'coupon_name' => 'string|required', 'coupon_value' => 'numeric|required', 'coupon_validity_text' => 'required', 'coupon_legal_mentions' => 'required', 'coupon_decoration_image' => 'required|image|mimes:jpeg,png', 'coupon_logo_image' => 'required|image|mimes:jpeg,png', 'coupon_rcs' => 'required', 'coupon_site_contact' => 'required', 'coupon_seuil_alert' => 'integer|required', 'coupon_enablelimitperiod' => 'sometimes|integer|required', 'coupon_enablelimitquantity' => 'sometimes|integer|required', 'coupon_mindatediffusion' => 'nullable', 'coupon_maxdatediffusion' => 'nullable', 'coupon_validity' => 'integer|required', 'coupon_maxdatevalidity' => 'nullable', 'coupon_legal_mentions_splitted' => 'sometimes|integer|required', ]; } /** * Configure the validator instance. * * @param \Illuminate\Validation\Validator $validator * @return void */ public function withValidator($validator) { $validator->sometimes('coupon_gs1code', 'required|image|mimes:jpeg', function ($input) { return isset($input->coupon_norme); }); $validator->sometimes('coupon_limitquantity', 'integer|required', function ($input) { return !is_null($input->coupon_enablelimitquantity); }); $validator->sometimes('coupon_limitperiod', 'integer|required', function ($input) { return !is_null($input->coupon_enablelimitperiod); }); } }