ICONS['SEARCH']]; $batchjobFilters = ['bank', 'status']; switch ($action) { case 'create': case 'create_form': break; case 'modify': case 'modify_form': $fields = [...$fields, 'status']; break; case 'view': $fields = [...$fields, 'created_at']; break; case 'index': case 'download': $fields = [ "clientinfo_uid", "bank", "title", "alias", "issue_at", "amount", "status", 'created_at', ]; break; } $this->setFormFields($fields); $this->setFormRules($action, $fields); $this->setFormFilters($filters); $this->setFormOptions($action, $filters, $formDatas); $this->setIndexFilters($indexFilter); $this->setActionButtons($actionButtons); $this->setBatchjobFilters($batchjobFilters); } public function getFormRule(string $action, string $field): string { switch ($field) { case "bank": case "alias": $rule = "required|trim|string"; break; case "issue_at": $rule = "required|valid_date"; break; default: $rule = parent::getFormRule($action, $field); break; } return $rule; } }