accessory) { $this->diff = ($this->accessory->numRemaining() - $this->checkout_qty); $this->merge([ 'checkout_qty' => $this->checkout_qty ?? 1, 'number_remaining_after_checkout' => (int) ($this->accessory->numRemaining() - $this->checkout_qty), 'number_currently_remaining' => (int) $this->accessory->numRemaining(), 'checkout_difference' => (int) $this->diff, ]); \Log::debug('---------------------------------------------'); } } /** * Get the validation rules that apply to the request. * * @return array|string> */ public function rules(): array { return array_merge( [ 'assigned_to' => [ 'required', 'integer', 'exists:users,id,deleted_at,NULL', 'not_array' ], 'number_remaining_after_checkout' => [ 'min:0', 'required', 'integer', ], 'checkout_qty' => [ 'integer', 'lte:number_currently_remaining', 'min:1', ], ], ); } public function messages(): array { $messages = [ 'checkout_qty.lte' => trans_choice('admin/accessories/message.checkout.checkout_qty.lte', $this->number_currently_remaining, [ 'number_currently_remaining' => $this->number_currently_remaining, 'checkout_qty' => $this->checkout_qty, ]), ]; return $messages; } }