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",
'MASTER' => "master",
],
'CLIENT' => [],
'CLIENT' => [
'USER' => 'user',
'VIP' => 'vip',
'RESELLER' => 'reseller',
],
]);
//Default값 정의

View File

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

View File

@ -25,11 +25,11 @@ class LocalForm extends CommonForm
$this->setFormOptions($action, $filters);
$this->setBatchjobFilters($filters);
}
public function getFormRule(string $action, string $field): string
public function getFormRule(string $action, string $field, array $formRules): array
{
switch ($field) {
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;
case "passwd":
$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);
break;
}
return $rule;
return $formRules;
}
}

View File

@ -72,27 +72,27 @@ class BoardForm extends CommonForm
$this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters);
}
public function getFormRule(string $action, string $field): string
public function getFormRule(string $action, string $field, array $formRules): array
{
switch ($field) {
case "category":
case "title":
$rule = "required|trim|string";
$formRules[$field] = "required|trim|string";
break;
case "user_uid":
$rule = "required|numeric";
$formRules[$field] = "required|numeric";
break;
case "worker_uid":
$rule = "permit_empty|numeric";
$formRules[$field] = "permit_empty|numeric";
break;
case "content":
$rule = "permit_empty|string";
$formRules[$field] = "permit_empty|string";
break;
default:
$rule = parent::getFormRule($action, $field);
$formRules = parent::getFormRule($action, $field, $formRules);
break;
}
return $rule;
return $formRules;
}
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에 지정된 필드 정의만 추출됩니다.
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) {
$formRules[$field] = $formRules[$field] ?? $this->getFormRule($action, $field);
$formRules = $this->getFormRule($action, $field, $formRules);
}
$this->_formRules = $formRules;
}
@ -117,7 +117,7 @@ abstract class CommonForm
return $this->_batchjobButtons;
}
//Validation용
final public function validate(array $formDatas): void
public function validate(array $formDatas): void
{
if ($this->_validation === null) {
throw new RuntimeException(static::class . '->' . __FUNCTION__ . "에서 오류발생: Validation 서비스가 초기화되지 않았습니다.");
@ -163,44 +163,44 @@ abstract class CommonForm
return $label;
}
public function getFormRule(string $action, string $field): string
public function getFormRule(string $action, string $field, array $formRules): array
{
switch ($field) {
case $this->getAttribute('pk_field'):
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 {
$rule = "required|numeric";
$formRules[$field] = "required|numeric";
}
break;
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;
case "code":
// 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;
case "user_uid":
$rule = "required|numeric";
$formRules[$field] = "required|numeric";
break;
case "clientinfo_uid":
case "serviceinfo_uid":
case "serverinfo_uid":
$rule = "permit_empty|numeric";
$formRules[$field] = "permit_empty|numeric";
break;
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;
case "updated_at":
case "created_at":
case "deleted_at":
$rule = "permit_empty|trim|valid_date";
$formRules[$field] = "permit_empty|trim|valid_date";
break;
default:
$rule = "permit_empty|trim|string";
$formRules[$field] = "permit_empty|trim|string";
break;
}
return $rule;
return $formRules;
}
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->setBatchjobFilters($batchjobFilters);
}
public function getFormRule(string $action, string $field): string
public function getFormRule(string $action, string $field, array $formRules): array
{
switch ($field) {
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;
case "site":
$formRules[$field] = "required|trim|string";
break;
case "role":
$rule = "required|trim|string";
$formRules[$field] = 'required|is_array';
$formRules['role.*'] = 'trim|in_list[user,vip,reseller]';
break;
case "email":
$rule = "permit_empty|trim|valid_email";
$formRules[$field] = "permit_empty|trim|valid_email";
break;
case "phone":
case "history":
$rule = "permit_empty|trim|string";
$formRules[$field] = "permit_empty|trim|string";
break;
case "account_balance":
case "coupon_balance":
case "point_balance":
$rule = "permit_empty|numeric";
$formRules[$field] = "permit_empty|numeric";
break;
default:
$rule = parent::getFormRule($action, $field);
$formRules = parent::getFormRule($action, $field, $formRules);
break;
}
return $rule;
return $formRules;
}
}

View File

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

View File

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

View File

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

View File

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

View File

@ -68,41 +68,41 @@ class ServerForm extends EquipmentForm
$this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters);
}
public function getFormRule(string $action, string $field): string
public function getFormRule(string $action, string $field, array $formRules): array
{
switch ($field) {
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;
case "code":
case "title":
$rule = "required|trim|string";
$formRules[$field] = "required|trim|string";
break;
case "chassisinfo_uid":
case "price":
$rule = "required|numeric";
$formRules[$field] = "required|numeric";
break;
case "type":
case "status":
$rule = "required|trim|string";
$formRules[$field] = "required|trim|string";
break;
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;
case "os":
$rule = "permit_empty|trim|string";
$formRules[$field] = "permit_empty|trim|string";
break;
case "manufactur_at":
$rule = "required|valid_date";
$formRules[$field] = "required|valid_date";
break;
case "format_at":
$rule = "permit_empty|valid_date";
$formRules[$field] = "permit_empty|valid_date";
break;
default:
$rule = parent::getFormRule($action, $field);
$formRules = parent::getFormRule($action, $field, $formRules);
break;
}
return $rule;
return $formRules;
}
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->setBatchjobFilters($batchjobFilters);
}
public function getFormRule(string $action, string $field): string
public function getFormRule(string $action, string $field, array $formRules): array
{
switch ($field) {
case "serverinfo_uid":
case "part_uid":
case "cnt":
case "amount":
$rule = "required|numeric";
$formRules[$field] = "required|numeric";
break;
case "clientinfo_uid":
case "serviceinfo_uid":
$rule = "permit_empty|numeric";
$formRules[$field] = "permit_empty|numeric";
break;
case "title":
case "type":
case "billing":
$rule = "required|trim|string";
$formRules[$field] = "required|trim|string";
break;
case "extra":
$rule = "permit_empty|trim|string";
$formRules[$field] = "permit_empty|trim|string";
break;
default:
$rule = parent::getFormRule($action, $field);
$formRules = parent::getFormRule($action, $field, $formRules);
break;
}
return $rule;
return $formRules;
}
private function getPartService(string $type): CommonService
{

View File

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

View File

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

View File

@ -69,26 +69,26 @@ class CSForm extends PartForm
$this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters);
}
public function getFormRule(string $action, string $field): string
public function getFormRule(string $action, string $field, array $formRules): array
{
switch ($field) {
case "type":
$rule = "required|trim|string";
$formRules[$field] = "required|trim|string";
break;
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;
case "accountid":
case "domain":
$rule = "permit_empty|trim|string";
$formRules[$field] = "permit_empty|trim|string";
break;
case "status":
$rule = "required|trim|string";
$formRules[$field] = "required|trim|string";
break;
default:
$rule = parent::getFormRule($action, $field);
$formRules = parent::getFormRule($action, $field, $formRules);
break;
}
return $rule;
return $formRules;
}
}

View File

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

View File

@ -60,29 +60,29 @@ class IPForm extends PartForm
$this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters);
}
public function getFormRule(string $action, string $field): string
public function getFormRule(string $action, string $field, array $formRules): array
{
switch ($field) {
case "lineinfo_uid":
$rule = "required|numeric";
$formRules[$field] = "required|numeric";
break;
case "old_clientinfo_uid":
case "clientinfo_uid":
case "serviceinfo_uid":
case "serverinfo_uid":
$rule = "permit_empty|numeric";
$formRules[$field] = "permit_empty|numeric";
break;
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;
case "status":
$rule = "required|trim|string";
$formRules[$field] = "required|trim|string";
break;
default:
$rule = parent::getFormRule($action, $field);
$formRules = parent::getFormRule($action, $field, $formRules);
break;
}
return $rule;
return $formRules;
}
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();
}
public function getFormRule(string $action, string $field): string
public function getFormRule(string $action, string $field, array $formRules): array
{
switch ($field) {
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;
case "clientinfo_uid":
case "serviceinfo_uid":
case "serverinfo_uid":
$rule = "permit_empty|numeric";
$formRules[$field] = "permit_empty|numeric";
break;
case "price":
case "stock":
$rule = "required|numeric";
$formRules[$field] = "required|numeric";
break;
case "status":
$rule = "permit_empty|trim|string";
$formRules[$field] = "permit_empty|trim|string";
break;
default:
$rule = parent::getFormRule($action, $field);
$formRules = parent::getFormRule($action, $field, $formRules);
break;
}
return $rule;
return $formRules;
}
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->setBatchjobFilters($batchjobFilters);
}
public function getFormRule(string $action, string $field): string
public function getFormRule(string $action, string $field, array $formRules): array
{
switch ($field) {
case "used":
$rule = "required|numeric";
$formRules[$field] = "required|numeric";
break;
default:
$rule = parent::getFormRule($action, $field);
$formRules = parent::getFormRule($action, $field, $formRules);
break;
}
return $rule;
return $formRules;
}
}

View File

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

View File

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

View File

@ -77,36 +77,36 @@ class PaymentForm extends CommonForm
$this->setBatchjobFilters($batchjobFilters);
$this->setBatchjobButtons($batchjobButtons);
}
public function getFormRule(string $action, string $field): string
public function getFormRule(string $action, string $field, array $formRules): array
{
switch ($field) {
case "user_uid":
case "clientinfo_uid":
case "serviceinfo_uid":
case "amount":
$rule = "required|numeric";
$formRules[$field] = "required|numeric";
break;
case "serverpartinfo_uid":
case "billing_month":
$rule = "permit_empty|numeric";
$formRules[$field] = "permit_empty|numeric";
break;
case "title":
case "billing":
case "pay":
case "status":
$rule = "required|trim|string";
$formRules[$field] = "required|trim|string";
break;
case "billing_at":
$rule = "required|valid_date";
$formRules[$field] = "required|valid_date";
break;
case "content":
$rule = "permit_empty|trim|string";
$formRules[$field] = "permit_empty|trim|string";
break;
default:
$rule = parent::getFormRule($action, $field);
$formRules = parent::getFormRule($action, $field, $formRules);
break;
}
return $rule;
return $formRules;
}
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->setBatchjobFilters($batchjobFilters);
}
public function getFormRule(string $action, string $field): string
public function getFormRule(string $action, string $field, array $formRules): array
{
switch ($field) {
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;
case "passwd":
$rule = sprintf("%s|%s", in_array($action, ["create", "create_form"]) ? "required" : "permit_empty", "trim|string");
break;
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;
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;
case "role":
$rule = "required|trim|string";
$formRules[$field] = 'required|is_array';
$formRules['role.*'] = 'trim|in_list[manager,cloudflare,firewall,security,director,master]';
break;
default:
$rule = parent::getFormRule($action, $field);
$formRules = parent::getFormRule($action, $field, $formRules);
break;
}
return $rule;
return $formRules;
}
}

View File

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

View File

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

View File

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

View File

@ -10,32 +10,4 @@ abstract class PartModel extends CommonModel
{
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();
}
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;
}
}