check(); } /** * @return array */ public function getPiggyBankData(): array { return [ 'name' => $this->string('name'), 'startdate' => new Carbon, 'account_id' => $this->integer('account_id'), 'targetamount' => $this->float('targetamount'), 'targetdate' => $this->date('targetdate'), 'note' => $this->string('note'), ]; } /** * @return array */ public function rules() { $nameRule = 'required|between:1,255|uniquePiggyBankForUser'; $targetDateRule = 'date'; if (intval($this->get('id'))) { $nameRule = 'required|between:1,255|uniquePiggyBankForUser:' . intval($this->get('id')); } $rules = [ 'name' => $nameRule, 'account_id' => 'required|belongsToUser:accounts', 'targetamount' => 'required|numeric|more:0', 'amount_currency_id_targetamount' => 'required|exists:transaction_currencies,id', 'startdate' => 'date', 'targetdate' => $targetDateRule, 'order' => 'integer|min:1', ]; return $rules; } }