dbmsv4 init...3

This commit is contained in:
최준흠 2025-12-18 15:22:05 +09:00
parent eaa33ac5d0
commit 72a7461595
29 changed files with 158 additions and 202 deletions

View File

@ -399,7 +399,11 @@ define("ROLE", [
'DIRECTOR' => "director", 'DIRECTOR' => "director",
'MASTER' => "master", 'MASTER' => "master",
], ],
'CLIENT' => [], 'CLIENT' => [
'USER' => 'user',
'VIP' => 'vip',
'RESELLER' => 'reseller',
],
]); ]);
//Default값 정의 //Default값 정의

View File

@ -25,15 +25,15 @@ class GoogleForm extends CommonForm
$this->setFormOptions($action, $filters); $this->setFormOptions($action, $filters);
$this->setBatchjobFilters($filters); $this->setBatchjobFilters($filters);
} }
public function getFormRule(string $action, string $field): string public function getFormRule(string $action, string $field, array $formRules): array
{ {
switch ($field) { switch ($field) {
case "access_code": case "access_code":
$rule = "required|trim|string"; $formRules[$field] = "required|trim|string";
default: default:
$rule = parent::getFormRule($action, $field); $rule = parent::getFormRule($action, $field);
break; break;
} }
return $rule; return $formRules;
} }
} }

View File

@ -25,11 +25,11 @@ class LocalForm extends CommonForm
$this->setFormOptions($action, $filters); $this->setFormOptions($action, $filters);
$this->setBatchjobFilters($filters); $this->setBatchjobFilters($filters);
} }
public function getFormRule(string $action, string $field): string public function getFormRule(string $action, string $field, array $formRules): array
{ {
switch ($field) { switch ($field) {
case "id": case "id":
$rule = sprintf("required|trim|min_length[4]|max_length[20]%s", in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->getAttribute('table')}.{$field}]" : ""); $formRules[$field] = sprintf("required|trim|min_length[4]|max_length[20]%s", in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->getAttribute('table')}.{$field}]" : "");
break; break;
case "passwd": case "passwd":
$rule = in_array($action, ["create", "create_form"]) ? "required|trim|string" : "permit_empty|trim|string"; $rule = in_array($action, ["create", "create_form"]) ? "required|trim|string" : "permit_empty|trim|string";
@ -38,6 +38,6 @@ class LocalForm extends CommonForm
$rule = parent::getFormRule($action, $field); $rule = parent::getFormRule($action, $field);
break; break;
} }
return $rule; return $formRules;
} }
} }

View File

@ -72,27 +72,27 @@ class BoardForm extends CommonForm
$this->setIndexFilters($indexFilter); $this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters); $this->setBatchjobFilters($batchjobFilters);
} }
public function getFormRule(string $action, string $field): string public function getFormRule(string $action, string $field, array $formRules): array
{ {
switch ($field) { switch ($field) {
case "category": case "category":
case "title": case "title":
$rule = "required|trim|string"; $formRules[$field] = "required|trim|string";
break; break;
case "user_uid": case "user_uid":
$rule = "required|numeric"; $formRules[$field] = "required|numeric";
break; break;
case "worker_uid": case "worker_uid":
$rule = "permit_empty|numeric"; $formRules[$field] = "permit_empty|numeric";
break; break;
case "content": case "content":
$rule = "permit_empty|string"; $formRules[$field] = "permit_empty|string";
break; break;
default: default:
$rule = parent::getFormRule($action, $field); $formRules = parent::getFormRule($action, $field, $formRules);
break; break;
} }
return $rule; return $formRules;
} }
public function getFormOption(string $action, string $field, array $formDatas = [], array $options = ['options' => [], 'atttributes' => []]): array public function getFormOption(string $action, string $field, array $formDatas = [], array $options = ['options' => [], 'atttributes' => []]): array
{ {

View File

@ -47,10 +47,10 @@ abstract class CommonForm
// _formFields와 키를 비교하여 교집합을 반환합니다. $fields에 지정된 필드 정의만 추출됩니다. // _formFields와 키를 비교하여 교집합을 반환합니다. $fields에 지정된 필드 정의만 추출됩니다.
return array_intersect_key($this->_formFields, array_flip($fields)); return array_intersect_key($this->_formFields, array_flip($fields));
} }
final public function setFormRules(string $action, array $fields, $formRules = []): void public function setFormRules(string $action, array $fields, $formRules = []): void
{ {
foreach ($fields as $field) { foreach ($fields as $field) {
$formRules[$field] = $formRules[$field] ?? $this->getFormRule($action, $field); $formRules = $this->getFormRule($action, $field, $formRules);
} }
$this->_formRules = $formRules; $this->_formRules = $formRules;
} }
@ -117,7 +117,7 @@ abstract class CommonForm
return $this->_batchjobButtons; return $this->_batchjobButtons;
} }
//Validation용 //Validation용
final public function validate(array $formDatas): void public function validate(array $formDatas): void
{ {
if ($this->_validation === null) { if ($this->_validation === null) {
throw new RuntimeException(static::class . '->' . __FUNCTION__ . "에서 오류발생: Validation 서비스가 초기화되지 않았습니다."); throw new RuntimeException(static::class . '->' . __FUNCTION__ . "에서 오류발생: Validation 서비스가 초기화되지 않았습니다.");
@ -163,44 +163,44 @@ abstract class CommonForm
return $label; return $label;
} }
public function getFormRule(string $action, string $field): string public function getFormRule(string $action, string $field, array $formRules): array
{ {
switch ($field) { switch ($field) {
case $this->getAttribute('pk_field'): case $this->getAttribute('pk_field'):
if (!$this->getAttribute('useAutoIncrement')) { if (!$this->getAttribute('useAutoIncrement')) {
$rule = sprintf("required|regex_match[/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/]%s", in_array($action, ["create"]) ? "|is_unique[{$this->getAttribute('table')}.{$field}]" : ""); $formRules[$field] = sprintf("required|regex_match[/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/]%s", in_array($action, ["create"]) ? "|is_unique[{$this->getAttribute('table')}.{$field}]" : "");
} else { } else {
$rule = "required|numeric"; $formRules[$field] = "required|numeric";
} }
break; break;
case $this->getAttribute('title_field'): case $this->getAttribute('title_field'):
$rule = sprintf("required|trim|string%s", in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->getAttribute('table')}.{$field}]" : ""); $formRules[$field] = sprintf("required|trim|string%s", in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->getAttribute('table')}.{$field}]" : "");
break; break;
case "code": case "code":
// a-zA-Z → 영문 대소문자,0-9 → 숫자,가-힣 → 한글 완성형,\- → 하이픈 // a-zA-Z → 영문 대소문자,0-9 → 숫자,가-힣 → 한글 완성형,\- → 하이픈
$rule = sprintf("required|regex_match[/^[a-zA-Z0-9가-힣\-\_]+$/]|min_length[4]%s", in_array($action, ["create"]) ? "|is_unique[{$this->getAttribute('table')}.{$field}]" : ""); $formRules[$field] = sprintf("required|regex_match[/^[a-zA-Z0-9가-힣\-\_]+$/]|min_length[4]%s", in_array($action, ["create"]) ? "|is_unique[{$this->getAttribute('table')}.{$field}]" : "");
break; break;
case "user_uid": case "user_uid":
$rule = "required|numeric"; $formRules[$field] = "required|numeric";
break; break;
case "clientinfo_uid": case "clientinfo_uid":
case "serviceinfo_uid": case "serviceinfo_uid":
case "serverinfo_uid": case "serverinfo_uid":
$rule = "permit_empty|numeric"; $formRules[$field] = "permit_empty|numeric";
break; break;
case 'picture': case 'picture':
$rule = "is_image[{$field}]|mime_in[{$field},image/jpg,image/jpeg,image/gif,image/png,image/webp]|max_size[{$field},300]|max_dims[{$field},2048,768]"; $formRules[$field] = "is_image[{$field}]|mime_in[{$field},image/jpg,image/jpeg,image/gif,image/png,image/webp]|max_size[{$field},300]|max_dims[{$field},2048,768]";
break; break;
case "updated_at": case "updated_at":
case "created_at": case "created_at":
case "deleted_at": case "deleted_at":
$rule = "permit_empty|trim|valid_date"; $formRules[$field] = "permit_empty|trim|valid_date";
break; break;
default: default:
$rule = "permit_empty|trim|string"; $formRules[$field] = "permit_empty|trim|string";
break; break;
} }
return $rule; return $formRules;
} }
protected function getFormOption_process($service, string $action, string $field, array $formDatas = []): array protected function getFormOption_process($service, string $action, string $field, array $formDatas = []): array
{ {

View File

@ -59,32 +59,35 @@ class ClientForm extends CustomerForm
$this->setIndexFilters($indexFilter); $this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters); $this->setBatchjobFilters($batchjobFilters);
} }
public function getFormRule(string $action, string $field): string public function getFormRule(string $action, string $field, array $formRules): array
{ {
switch ($field) { switch ($field) {
case "name": case "name":
$rule = sprintf("required|trim|string%s", in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->getAttribute('table')}.{$field}]" : ""); $formRules[$field] = sprintf("required|trim|string%s", in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->getAttribute('table')}.{$field}]" : "");
break; break;
case "site": case "site":
$formRules[$field] = "required|trim|string";
break;
case "role": case "role":
$rule = "required|trim|string"; $formRules[$field] = 'required|is_array';
$formRules['role.*'] = 'trim|in_list[user,vip,reseller]';
break; break;
case "email": case "email":
$rule = "permit_empty|trim|valid_email"; $formRules[$field] = "permit_empty|trim|valid_email";
break; break;
case "phone": case "phone":
case "history": case "history":
$rule = "permit_empty|trim|string"; $formRules[$field] = "permit_empty|trim|string";
break; break;
case "account_balance": case "account_balance":
case "coupon_balance": case "coupon_balance":
case "point_balance": case "point_balance":
$rule = "permit_empty|numeric"; $formRules[$field] = "permit_empty|numeric";
break; break;
default: default:
$rule = parent::getFormRule($action, $field); $formRules = parent::getFormRule($action, $field, $formRules);
break; break;
} }
return $rule; return $formRules;
} }
} }

View File

@ -76,7 +76,7 @@ class ServiceForm extends CustomerForm
$this->setIndexFilters($indexFilter); $this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters); $this->setBatchjobFilters($batchjobFilters);
} }
public function getFormRule(string $action, string $field): string public function getFormRule(string $action, string $field, array $formRules): array
{ {
switch ($field) { switch ($field) {
case "clientinfo_uid": case "clientinfo_uid":
@ -84,32 +84,32 @@ class ServiceForm extends CustomerForm
case "amount": case "amount":
case "rack": case "rack":
case "line": case "line":
$rule = "required|numeric"; $formRules[$field] = "required|numeric";
break; break;
case "sale": case "sale":
$rule = "permit_empty|numeric"; $formRules[$field] = "permit_empty|numeric";
break; break;
case "site": case "site":
case "location": case "location":
case "status": case "status":
$rule = "required|trim|string"; $formRules[$field] = "required|trim|string";
break; break;
case "billing_at": case "billing_at":
case "start_at": case "start_at":
$rule = "required|valid_date"; $formRules[$field] = "required|valid_date";
break; break;
case "end_at": case "end_at":
$rule = "permit_empty|valid_date"; $formRules[$field] = "permit_empty|valid_date";
break; break;
case 'title': case 'title':
case "history": case "history":
$rule = "permit_empty|trim|string"; $formRules[$field] = "permit_empty|trim|string";
break; break;
default: default:
$rule = parent::getFormRule($action, $field); $formRules = parent::getFormRule($action, $field, $formRules);
break; break;
} }
return $rule; return $formRules;
} }
public function getFormOption(string $action, string $field, array $formDatas = [], array $options = ['options' => [], 'atttributes' => []]): array public function getFormOption(string $action, string $field, array $formDatas = [], array $options = ['options' => [], 'atttributes' => []]): array

View File

@ -62,20 +62,20 @@ class AccountForm extends WalletForm
$this->setBatchjobFilters($batchjobFilters); $this->setBatchjobFilters($batchjobFilters);
} }
public function getFormRule(string $action, string $field): string public function getFormRule(string $action, string $field, array $formRules): array
{ {
switch ($field) { switch ($field) {
case "bank": case "bank":
case "alias": case "alias":
$rule = "required|trim|string"; $formRules[$field] = "required|trim|string";
break; break;
case "issue_at": case "issue_at":
$rule = "required|valid_date"; $formRules[$field] = "required|valid_date";
break; break;
default: default:
$rule = parent::getFormRule($action, $field); $formRules = parent::getFormRule($action, $field, $formRules);
break; break;
} }
return $rule; return $formRules;
} }
} }

View File

@ -10,26 +10,26 @@ abstract class WalletForm extends CustomerForm
{ {
parent::__construct(); parent::__construct();
} }
public function getFormRule(string $action, string $field): string public function getFormRule(string $action, string $field, array $formRules): array
{ {
switch ($field) { switch ($field) {
case "user_uid": case "user_uid":
case "clientinfo_uid": case "clientinfo_uid":
case "amount": case "amount":
case "balance": case "balance":
$rule = "required|numeric"; $formRules[$field] = "required|numeric";
break; break;
case "title": case "title":
case "status": case "status":
$rule = "required|trim|string"; $formRules[$field] = "required|trim|string";
break; break;
case "content": case "content":
$rule = "permit_empty|trim|string"; $formRules[$field] = "permit_empty|trim|string";
break; break;
default: default:
$rule = parent::getFormRule($action, $field); $formRules = parent::getFormRule($action, $field, $formRules);
break; break;
} }
return $rule; return $formRules;
} }
} }

View File

@ -42,16 +42,16 @@ class CHASSISForm extends EquipmentForm
$this->setIndexFilters($indexFilter); $this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters); $this->setBatchjobFilters($batchjobFilters);
} }
public function getFormRule(string $action, string $field): string public function getFormRule(string $action, string $field, array $formRules): array
{ {
switch ($field) { switch ($field) {
case "used": case "used":
$rule = "required|numeric"; $formRules[$field] = "required|numeric";
break; break;
default: default:
$rule = parent::getFormRule($action, $field); $formRules = parent::getFormRule($action, $field, $formRules);
break; break;
} }
return $rule; return $formRules;
} }
} }

View File

@ -45,21 +45,21 @@ class LineForm extends EquipmentForm
$this->setIndexFilters($indexFilter); $this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters); $this->setBatchjobFilters($batchjobFilters);
} }
public function getFormRule(string $action, string $field): string public function getFormRule(string $action, string $field, array $formRules): array
{ {
switch ($field) { switch ($field) {
case "bandwith": case "bandwith":
case "type": case "type":
$rule = "required|trim|string"; $formRules[$field] = "required|trim|string";
break; break;
case "start_at": case "start_at":
case "end_at": case "end_at":
$rule = "permit_empty|valid_date"; $formRules[$field] = "permit_empty|valid_date";
break; break;
default: default:
$rule = parent::getFormRule($action, $field); $formRules = parent::getFormRule($action, $field, $formRules);
break; break;
} }
return $rule; return $formRules;
} }
} }

View File

@ -68,41 +68,41 @@ class ServerForm extends EquipmentForm
$this->setIndexFilters($indexFilter); $this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters); $this->setBatchjobFilters($batchjobFilters);
} }
public function getFormRule(string $action, string $field): string public function getFormRule(string $action, string $field, array $formRules): array
{ {
switch ($field) { switch ($field) {
case "switchinfo_uid": case "switchinfo_uid":
$rule = sprintf("permit_empty|numeric%s", in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->getAttribute('table')}.{$field}]" : ""); $formRules[$field] = sprintf("permit_empty|numeric%s", in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->getAttribute('table')}.{$field}]" : "");
break; break;
case "code": case "code":
case "title": case "title":
$rule = "required|trim|string"; $formRules[$field] = "required|trim|string";
break; break;
case "chassisinfo_uid": case "chassisinfo_uid":
case "price": case "price":
$rule = "required|numeric"; $formRules[$field] = "required|numeric";
break; break;
case "type": case "type":
case "status": case "status":
$rule = "required|trim|string"; $formRules[$field] = "required|trim|string";
break; break;
case "ip": //ipv4 , ipv6 , both(ipv4,ipv6) case "ip": //ipv4 , ipv6 , both(ipv4,ipv6)
$rule = sprintf("permit_empty|trim|valid_ip[both]%s", in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->getAttribute('table')}.{$field}]" : ""); $formRules[$field] = sprintf("permit_empty|trim|valid_ip[both]%s", in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->getAttribute('table')}.{$field}]" : "");
break; break;
case "os": case "os":
$rule = "permit_empty|trim|string"; $formRules[$field] = "permit_empty|trim|string";
break; break;
case "manufactur_at": case "manufactur_at":
$rule = "required|valid_date"; $formRules[$field] = "required|valid_date";
break; break;
case "format_at": case "format_at":
$rule = "permit_empty|valid_date"; $formRules[$field] = "permit_empty|valid_date";
break; break;
default: default:
$rule = parent::getFormRule($action, $field); $formRules = parent::getFormRule($action, $field, $formRules);
break; break;
} }
return $rule; return $formRules;
} }
protected function getFormOption_process($service, string $action, string $field, array $formDatas = []): array protected function getFormOption_process($service, string $action, string $field, array $formDatas = []): array

View File

@ -54,32 +54,32 @@ class ServerPartForm extends EquipmentForm
$this->setIndexFilters($indexFilter); $this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters); $this->setBatchjobFilters($batchjobFilters);
} }
public function getFormRule(string $action, string $field): string public function getFormRule(string $action, string $field, array $formRules): array
{ {
switch ($field) { switch ($field) {
case "serverinfo_uid": case "serverinfo_uid":
case "part_uid": case "part_uid":
case "cnt": case "cnt":
case "amount": case "amount":
$rule = "required|numeric"; $formRules[$field] = "required|numeric";
break; break;
case "clientinfo_uid": case "clientinfo_uid":
case "serviceinfo_uid": case "serviceinfo_uid":
$rule = "permit_empty|numeric"; $formRules[$field] = "permit_empty|numeric";
break; break;
case "title": case "title":
case "type": case "type":
case "billing": case "billing":
$rule = "required|trim|string"; $formRules[$field] = "required|trim|string";
break; break;
case "extra": case "extra":
$rule = "permit_empty|trim|string"; $formRules[$field] = "permit_empty|trim|string";
break; break;
default: default:
$rule = parent::getFormRule($action, $field); $formRules = parent::getFormRule($action, $field, $formRules);
break; break;
} }
return $rule; return $formRules;
} }
private function getPartService(string $type): CommonService private function getPartService(string $type): CommonService
{ {

View File

@ -37,23 +37,23 @@ class MylogForm extends CommonForm
$this->setIndexFilters($indexFilter); $this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters); $this->setBatchjobFilters($batchjobFilters);
} }
public function getFormRule(string $action, string $field): string public function getFormRule(string $action, string $field, array $formRules): array
{ {
switch ($field) { switch ($field) {
case "user_uid": case "user_uid":
$rule = "required|int"; $formRules[$field] = "required|int";
break; break;
case "title": case "title":
case "status": case "status":
$rule = "required|trim|string"; $formRules[$field] = "required|trim|string";
break; break;
case "content": case "content":
$rule = "permit_empty|trim|string"; $formRules[$field] = "permit_empty|trim|string";
break; break;
default: default:
$rule = parent::getFormRule($action, $field); $formRules = parent::getFormRule($action, $field, $formRules);
break; break;
} }
return $rule; return $formRules;
} }
} }

View File

@ -42,16 +42,16 @@ class CPUForm extends PartForm
$this->setIndexFilters($indexFilter); $this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters); $this->setBatchjobFilters($batchjobFilters);
} }
public function getFormRule(string $action, string $field): string public function getFormRule(string $action, string $field, array $formRules): array
{ {
switch ($field) { switch ($field) {
case "used": case "used":
$rule = "required|numeric"; $formRules[$field] = "required|numeric";
break; break;
default: default:
$rule = parent::getFormRule($action, $field); $formRules = parent::getFormRule($action, $field, $formRules);
break; break;
} }
return $rule; return $formRules;
} }
} }

View File

@ -69,26 +69,26 @@ class CSForm extends PartForm
$this->setIndexFilters($indexFilter); $this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters); $this->setBatchjobFilters($batchjobFilters);
} }
public function getFormRule(string $action, string $field): string public function getFormRule(string $action, string $field, array $formRules): array
{ {
switch ($field) { switch ($field) {
case "type": case "type":
$rule = "required|trim|string"; $formRules[$field] = "required|trim|string";
break; break;
case "ip": //ipv4 , ipv6 , both(ipv4,ipv6) case "ip": //ipv4 , ipv6 , both(ipv4,ipv6)
$rule = sprintf("required|trim|valid_ip[both]%s", in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->getAttribute('table')}.{$field}]" : ""); $formRules[$field] = sprintf("required|trim|valid_ip[both]%s", in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->getAttribute('table')}.{$field}]" : "");
break; break;
case "accountid": case "accountid":
case "domain": case "domain":
$rule = "permit_empty|trim|string"; $formRules[$field] = "permit_empty|trim|string";
break; break;
case "status": case "status":
$rule = "required|trim|string"; $formRules[$field] = "required|trim|string";
break; break;
default: default:
$rule = parent::getFormRule($action, $field); $formRules = parent::getFormRule($action, $field, $formRules);
break; break;
} }
return $rule; return $formRules;
} }
} }

View File

@ -43,19 +43,19 @@ class DISKForm extends PartForm
$this->setIndexFilters($indexFilter); $this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters); $this->setBatchjobFilters($batchjobFilters);
} }
public function getFormRule(string $action, string $field): string public function getFormRule(string $action, string $field, array $formRules): array
{ {
switch ($field) { switch ($field) {
case "used": case "used":
$rule = "required|numeric"; $formRules[$field] = "required|numeric";
break; break;
case "format": case "format":
$rule = "required|numeric"; $formRules[$field] = "required|numeric";
break; break;
default: default:
$rule = parent::getFormRule($action, $field); $formRules = parent::getFormRule($action, $field, $formRules);
break; break;
} }
return $rule; return $formRules;
} }
} }

View File

@ -60,29 +60,29 @@ class IPForm extends PartForm
$this->setIndexFilters($indexFilter); $this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters); $this->setBatchjobFilters($batchjobFilters);
} }
public function getFormRule(string $action, string $field): string public function getFormRule(string $action, string $field, array $formRules): array
{ {
switch ($field) { switch ($field) {
case "lineinfo_uid": case "lineinfo_uid":
$rule = "required|numeric"; $formRules[$field] = "required|numeric";
break; break;
case "old_clientinfo_uid": case "old_clientinfo_uid":
case "clientinfo_uid": case "clientinfo_uid":
case "serviceinfo_uid": case "serviceinfo_uid":
case "serverinfo_uid": case "serverinfo_uid":
$rule = "permit_empty|numeric"; $formRules[$field] = "permit_empty|numeric";
break; break;
case "ip": //ipv4 , ipv6 , both(ipv4,ipv6) case "ip": //ipv4 , ipv6 , both(ipv4,ipv6)
$rule = sprintf("required|trim|valid_ip[both]%s", in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->getAttribute('table')}.{$field}]" : ""); $formRules[$field] = sprintf("required|trim|valid_ip[both]%s", in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->getAttribute('table')}.{$field}]" : "");
break; break;
case "status": case "status":
$rule = "required|trim|string"; $formRules[$field] = "required|trim|string";
break; break;
default: default:
$rule = parent::getFormRule($action, $field); $formRules = parent::getFormRule($action, $field, $formRules);
break; break;
} }
return $rule; return $formRules;
} }
public function getFormOption(string $action, string $field, array $formDatas = [], array $options = ['options' => [], 'atttributes' => []]): array public function getFormOption(string $action, string $field, array $formDatas = [], array $options = ['options' => [], 'atttributes' => []]): array
{ {

View File

@ -10,29 +10,29 @@ abstract class PartForm extends CommonForm
{ {
parent::__construct(); parent::__construct();
} }
public function getFormRule(string $action, string $field): string public function getFormRule(string $action, string $field, array $formRules): array
{ {
switch ($field) { switch ($field) {
case "title": case "title":
$rule = sprintf("required|trim|string%s", in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->getAttribute('table')}.{$field}]" : ""); $formRules[$field] = sprintf("required|trim|string%s", in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->getAttribute('table')}.{$field}]" : "");
break; break;
case "clientinfo_uid": case "clientinfo_uid":
case "serviceinfo_uid": case "serviceinfo_uid":
case "serverinfo_uid": case "serverinfo_uid":
$rule = "permit_empty|numeric"; $formRules[$field] = "permit_empty|numeric";
break; break;
case "price": case "price":
case "stock": case "stock":
$rule = "required|numeric"; $formRules[$field] = "required|numeric";
break; break;
case "status": case "status":
$rule = "permit_empty|trim|string"; $formRules[$field] = "permit_empty|trim|string";
break; break;
default: default:
$rule = parent::getFormRule($action, $field); $formRules = parent::getFormRule($action, $field, $formRules);
break; break;
} }
return $rule; return $formRules;
} }
public function getFormOption(string $action, string $field, array $formDatas = [], array $options = ['options' => [], 'atttributes' => []]): array public function getFormOption(string $action, string $field, array $formDatas = [], array $options = ['options' => [], 'atttributes' => []]): array
{ {

View File

@ -42,16 +42,16 @@ class RAMForm extends PartForm
$this->setIndexFilters($indexFilter); $this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters); $this->setBatchjobFilters($batchjobFilters);
} }
public function getFormRule(string $action, string $field): string public function getFormRule(string $action, string $field, array $formRules): array
{ {
switch ($field) { switch ($field) {
case "used": case "used":
$rule = "required|numeric"; $formRules[$field] = "required|numeric";
break; break;
default: default:
$rule = parent::getFormRule($action, $field); $formRules = parent::getFormRule($action, $field, $formRules);
break; break;
} }
return $rule; return $formRules;
} }
} }

View File

@ -42,13 +42,13 @@ class SOFTWAREForm extends PartForm
$this->setIndexFilters($indexFilter); $this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters); $this->setBatchjobFilters($batchjobFilters);
} }
public function getFormRule(string $action, string $field): string public function getFormRule(string $action, string $field, array $formRules): array
{ {
switch ($field) { switch ($field) {
default: default:
$rule = parent::getFormRule($action, $field); $formRules = parent::getFormRule($action, $field, $formRules);
break; break;
} }
return $rule; return $formRules;
} }
} }

View File

@ -61,16 +61,16 @@ class SWITCHForm extends PartForm
$this->setIndexFilters($indexFilter); $this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters); $this->setBatchjobFilters($batchjobFilters);
} }
public function getFormRule(string $action, string $field): string public function getFormRule(string $action, string $field, array $formRules): array
{ {
switch ($field) { switch ($field) {
case "status": case "status":
$rule = "required|trim|string"; $formRules[$field] = "required|trim|string";
break; break;
default: default:
$rule = parent::getFormRule($action, $field); $formRules = parent::getFormRule($action, $field, $formRules);
break; break;
} }
return $rule; return $formRules;
} }
} }

View File

@ -77,36 +77,36 @@ class PaymentForm extends CommonForm
$this->setBatchjobFilters($batchjobFilters); $this->setBatchjobFilters($batchjobFilters);
$this->setBatchjobButtons($batchjobButtons); $this->setBatchjobButtons($batchjobButtons);
} }
public function getFormRule(string $action, string $field): string public function getFormRule(string $action, string $field, array $formRules): array
{ {
switch ($field) { switch ($field) {
case "user_uid": case "user_uid":
case "clientinfo_uid": case "clientinfo_uid":
case "serviceinfo_uid": case "serviceinfo_uid":
case "amount": case "amount":
$rule = "required|numeric"; $formRules[$field] = "required|numeric";
break; break;
case "serverpartinfo_uid": case "serverpartinfo_uid":
case "billing_month": case "billing_month":
$rule = "permit_empty|numeric"; $formRules[$field] = "permit_empty|numeric";
break; break;
case "title": case "title":
case "billing": case "billing":
case "pay": case "pay":
case "status": case "status":
$rule = "required|trim|string"; $formRules[$field] = "required|trim|string";
break; break;
case "billing_at": case "billing_at":
$rule = "required|valid_date"; $formRules[$field] = "required|valid_date";
break; break;
case "content": case "content":
$rule = "permit_empty|trim|string"; $formRules[$field] = "permit_empty|trim|string";
break; break;
default: default:
$rule = parent::getFormRule($action, $field); $formRules = parent::getFormRule($action, $field, $formRules);
break; break;
} }
return $rule; return $formRules;
} }
public function getFormOption(string $action, string $field, array $formDatas = [], array $options = ['options' => [], 'atttributes' => []]): array public function getFormOption(string $action, string $field, array $formDatas = [], array $options = ['options' => [], 'atttributes' => []]): array

View File

@ -47,28 +47,29 @@ class UserForm extends CommonForm
$this->setIndexFilters($indexFilter); $this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters); $this->setBatchjobFilters($batchjobFilters);
} }
public function getFormRule(string $action, string $field): string public function getFormRule(string $action, string $field, array $formRules): array
{ {
switch ($field) { switch ($field) {
case "id": case "id":
$rule = sprintf("required|trim|min_length[4]|max_length[20]%s", in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->getAttribute('table')}.{$field}]" : ""); $formRules[$field] = sprintf("required|trim|min_length[4]|max_length[20]%s", in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->getAttribute('table')}.{$field}]" : "");
break; break;
case "passwd": case "passwd":
$rule = sprintf("%s|%s", in_array($action, ["create", "create_form"]) ? "required" : "permit_empty", "trim|string"); $rule = sprintf("%s|%s", in_array($action, ["create", "create_form"]) ? "required" : "permit_empty", "trim|string");
break; break;
case "confirmpassword": case "confirmpassword":
$rule = sprintf("%s|%s", in_array($action, ["create", "create_form"]) ? "required" : "permit_empty", "trim|string|matches[passwd]"); $formRules[$field] = sprintf("%s|%s", in_array($action, ["create", "create_form"]) ? "required" : "permit_empty", "trim|string|matches[passwd]");
break; break;
case "email": case "email":
$rule = sprintf("required|trim|valid_email%s", in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->getAttribute('table')}.{$field}]" : ""); $formRules[$field] = sprintf("required|trim|valid_email%s", in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->getAttribute('table')}.{$field}]" : "");
break; break;
case "role": case "role":
$rule = "required|trim|string"; $formRules[$field] = 'required|is_array';
$formRules['role.*'] = 'trim|in_list[manager,cloudflare,firewall,security,director,master]';
break; break;
default: default:
$rule = parent::getFormRule($action, $field); $formRules = parent::getFormRule($action, $field, $formRules);
break; break;
} }
return $rule; return $formRules;
} }
} }

View File

@ -26,7 +26,7 @@ class ClientHelper extends CustomerHelper
: []; : [];
$form = ''; $form = '';
//Form페이지에서는 맨앞에것 제외하기 위함 //Form페이지에서는 맨앞에것 제외하기 위함
$firstOption = array_shift($viewDatas['formOptions'][$field]['options']); array_shift($viewDatas['formOptions'][$field]['options']);
foreach ($viewDatas['formOptions'][$field]['options'] as $key => $label) { foreach ($viewDatas['formOptions'][$field]['options'] as $key => $label) {
$checked = in_array(strtolower(trim($key)), $currentRoles); $checked = in_array(strtolower(trim($key)), $currentRoles);
$form .= '<label class="me-3">'; $form .= '<label class="me-3">';

View File

@ -23,7 +23,7 @@ class UserHelper extends CommonHelper
: []; : [];
$form = ''; $form = '';
//Form페이지에서는 맨앞에것 제외하기 위함 //Form페이지에서는 맨앞에것 제외하기 위함
$firstOption = array_shift($viewDatas['formOptions'][$field]['options']); array_shift($viewDatas['formOptions'][$field]['options']);
foreach ($viewDatas['formOptions'][$field]['options'] as $key => $label) { foreach ($viewDatas['formOptions'][$field]['options'] as $key => $label) {
$checked = in_array(strtolower(trim($key)), $currentRoles); $checked = in_array(strtolower(trim($key)), $currentRoles);
$form .= '<label class="me-3">'; $form .= '<label class="me-3">';

View File

@ -19,9 +19,9 @@ return [
], ],
"SITE" => SITES, "SITE" => SITES,
"ROLE" => [ "ROLE" => [
"user" => "일반회원", ROLE['CLIENT']['USER'] => "일반회원",
"vip" => "VIP회원", ROLE['CLIENT']['VIP'] => "VIP회원",
"reseller" => "리셀러", ROLE['CLIENT']['RESELLER'] => "리셀러",
], ],
"STATUS" => [ "STATUS" => [
STATUS['AVAILABLE'] => "사용중", STATUS['AVAILABLE'] => "사용중",

View File

@ -10,32 +10,4 @@ abstract class PartModel extends CommonModel
{ {
parent::__construct(); parent::__construct();
} }
public function getFormRule(string $action, string $field): string
{
if (is_array($field)) {
throw new \Exception(__FUNCTION__ . "=> field가 array 입니다.\n" . var_export($field, true));
}
switch ($field) {
case "title":
$rule = sprintf("required|trim|string", in_array($action, ["create", "create_form"]) ? "|is_unique[" . $this->getTable() . "." . $field . "]" : "");
break;
case "clientinfo_uid":
case "serviceinfo_uid":
case "serverinfo_uid":
$rule = "permit_empty|trim|string";
break;
case "price":
case "stock":
$rule = "required|numeric";
break;
case "status":
$rule = "permit_empty|trim|string";
break;
default:
$rule = parent::getFormRule($action, $field);
break;
}
return $rule;
}
} }

View File

@ -28,28 +28,4 @@ class UserSNSModel extends CommonModel
{ {
parent::__construct(); parent::__construct();
} }
public function getFormRule(string $action, string $field): string
{
switch ($field) {
case "id":
$rule = "required|trim|min_length[4]|is_unique[{$this->table}.{$field}]";
break;
case $this->getTitleField():
$rule = "required|trim|string";
break;
case "site":
$rule = "required|trim|string";
break;
case "email":
$rule = "required|trim|valid_email";
break;
case "detail":
$rule = "required|trim|string";
break;
default:
$rule = parent::getFormRule($action, $field);
break;
}
return $rule;
}
} }