['required', 'string', 'max:50'], 'min_purchase' => ['required', 'regex:/^[0-9.]+$/', 'max:99999999999'], 'discount_percentage' => ['required', 'numeric', 'between:0,100'], 'terms_conditions' => ['nullable', 'string'], ]; } public function validationAttributes(): array { return [ 'name' => 'nama', 'min_purchase' => 'min. pembelian', 'discount_percentage' => 'persentase diskon', 'terms_conditions' => 'syarat dan ketentuan', ]; } public function setMembership(Membership $membership) { $this->membership = $membership; $this->name = $membership->name; $this->min_purchase = currency($membership->min_purchase); $this->terms_conditions = $membership->terms_conditions; $this->discount_percentage = $membership->discount_percentage; } public function store() { $this->validate(); Membership::create([ 'name' => $this->name, 'min_purchase' => replaceCurrency($this->min_purchase), 'discount_percentage' => $this->discount_percentage, 'terms_conditions' => $this->terms_conditions, ]); } public function update() { $this->validate(); $this->membership->update([ 'name' => $this->name, 'min_purchase' => replaceCurrency($this->min_purchase), 'discount_percentage' => $this->discount_percentage, 'terms_conditions' => $this->terms_conditions, ]); } }