. */ declare(strict_types=1); namespace FireflyIII\Http\Requests; /** * Class PiggyBankFormRequest. */ class PiggyBankFormRequest extends Request { /** * @return bool */ public function authorize() { // Only allow logged in users return auth()->check(); } /** * @return array */ public function getPiggyBankData(): array { return [ 'name' => $this->string('name'), 'startdate' => $this->date('startdate'), 'account_id' => $this->integer('account_id'), 'targetamount' => $this->string('targetamount'), 'targetdate' => $this->date('targetdate'), 'note' => $this->string('note'), ]; } /** * @return array */ public function rules() { $nameRule = 'required|between:1,255|uniquePiggyBankForUser'; if ($this->integer('id')) { $nameRule = 'required|between:1,255|uniquePiggyBankForUser:' . $this->integer('id'); } $rules = [ 'name' => $nameRule, 'account_id' => 'required|belongsToUser:accounts', 'targetamount' => 'required|numeric|more:0', 'startdate' => 'date', 'targetdate' => 'date|nullable', 'order' => 'integer|min:1', ]; return $rules; } }