getAttribute('table')}.{$field}]" : ""; $rules[$field] = $rule; break; case "passwd": $rules[$field] = in_array($action, ["create", "create_form"]) ? "required|trim|string" : "permit_empty|trim|string"; break; case "confirmpassword": $rules[$field] = in_array($action, ["create", "create_form"]) ? "required|trim|string|matches[passwd]" : "permit_empty|trim|string|matches[passwd]"; break; case "email": $rule = "required|trim|valid_email"; $rule .= in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->getAttribute('table')}.{$field}]" : ""; $rules[$field] = $rule; break; case "role": $rules[$field] = "required|trim|string"; break; default: $rules = parent::getFormRule($action, $field, $rules); break; } return $rules; } public function getFieldForm(string $field, mixed $value, array $viewDatas, array $extras = []): string { switch ($field) { case 'passwd': case 'confirmpassword': $form = form_password($field, "", [...$extras]); break; default: $form = parent::getFieldForm($field, $value, $viewDatas, $extras); break; } return $form; } // }