diff --git a/app/Http/Controllers/Api/V1/RegisterController.php b/app/Http/Controllers/Api/V1/RegisterController.php index 73f48d3..462dbfe 100644 --- a/app/Http/Controllers/Api/V1/RegisterController.php +++ b/app/Http/Controllers/Api/V1/RegisterController.php @@ -2,9 +2,9 @@ namespace App\Http\Controllers\Api\V1; +use App\Helpers\ApiResponse; use App\Http\Controllers\Controller; use App\Http\Requests\RegisterRequest; -use App\Http\Resources\ApiResponse; use App\Services\RegisterService; class RegisterController extends Controller diff --git a/lang/ko/validation.php b/lang/ko/validation.php new file mode 100644 index 0000000..8d198bc --- /dev/null +++ b/lang/ko/validation.php @@ -0,0 +1,187 @@ + ':attribute을(를) 동의해야 합니다.', + 'active_url' => ':attribute은(는) 유효한 URL이 아닙니다.', + 'after' => ':attribute은(는) :date 이후 날짜여야 합니다.', + 'after_or_equal' => ':attribute은(는) :date 이후 날짜이거나 같은 날짜여야 합니다.', + 'alpha' => ':attribute은(는) 문자만 포함할 수 있습니다.', + 'alpha_dash' => ':attribute은(는) 문자, 숫자, 대시(-), 밑줄(_)만 포함할 수 있습니다.', + 'alpha_num' => ':attribute은(는) 문자와 숫자만 포함할 수 있습니다.', + 'array' => ':attribute은(는) 배열이어야 합니다.', + 'before' => ':attribute은(는) :date 이전 날짜여야 합니다.', + 'before_or_equal' => ':attribute은(는) :date 이전 날짜이거나 같은 날짜여야 합니다.', + 'between' => [ + 'numeric' => ':attribute은(는) :min에서 :max 사이여야 합니다.', + 'file' => ':attribute은(는) :min에서 :max 킬로바이트 사이여야 합니다.', + 'string' => ':attribute은(는) :min에서 :max 자 사이여야 합니다.', + 'array' => ':attribute은(는) :min에서 :max 개 항목이 있어야 합니다.', + ], + 'boolean' => ':attribute은(는) true 또는 false이어야 합니다.', + 'confirmed' => ':attribute 확인이 일치하지 않습니다.', + 'date' => ':attribute은(는) 유효한 날짜가 아닙니다.', + 'date_equals' => ':attribute은(는) :date와 같은 날짜여야 합니다.', + 'date_format' => ':attribute은(는) :format 형식과 일치하지 않습니다.', + 'different' => ':attribute와(과) :other는 달라야 합니다.', + 'digits' => ':attribute은(는) :digits 자리 숫자여야 합니다.', + 'digits_between' => ':attribute은(는) :min에서 :max 자리 사이여야 합니다.', + 'dimensions' => ':attribute은(는) 유효하지 않은 이미지 크기입니다.', + 'distinct' => ':attribute 필드에 중복된 값이 있습니다.', + 'email' => ':attribute은(는) 유효한 이메일 주소여야 합니다.', + 'exists' => '선택된 :attribute은(는) 유효하지 않습니다.', + 'file' => ':attribute은(는) 파일이어야 합니다.', + 'filled' => ':attribute 필드는 값이 있어야 합니다.', + 'gt' => [ + 'numeric' => ':attribute은(는) :value보다 커야 합니다.', + 'file' => ':attribute은(는) :value 킬로바이트보다 커야 합니다.', + 'string' => ':attribute은(는) :value 자보다 길어야 합니다.', + 'array' => ':attribute은(는) :value 개 항목보다 많아야 합니다.', + ], + 'gte' => [ + 'numeric' => ':attribute은(는) :value보다 크거나 같아야 합니다.', + 'file' => ':attribute은(는) :value 킬로바이트보다 크거나 같아야 합니다.', + 'string' => ':attribute은(는) :value 자보다 길거나 같아야 합니다.', + 'array' => ':attribute은(는) :value 개 항목 이상이어야 합니다.', + ], + 'image' => ':attribute은(는) 이미지여야 합니다.', + 'in' => '선택된 :attribute은(는) 유효하지 않습니다.', + 'in_array' => ':attribute 필드가 :other에 존재하지 않습니다.', + 'integer' => ':attribute은(는) 정수여야 합니다.', + 'ip' => ':attribute은(는) 유효한 IP 주소여야 합니다.', + 'ipv4' => ':attribute은(는) 유효한 IPv4 주소여야 합니다.', + 'ipv6' => ':attribute은(는) 유효한 IPv6 주소여야 합니다.', + 'json' => ':attribute은(는) 유효한 JSON 문자열이어야 합니다.', + 'lt' => [ + 'numeric' => ':attribute은(는) :value보다 작아야 합니다.', + 'file' => ':attribute은(는) :value 킬로바이트보다 작아야 합니다.', + 'string' => ':attribute은(는) :value 자보다 짧아야 합니다.', + 'array' => ':attribute은(는) :value 개 항목보다 적어야 합니다.', + ], + 'lte' => [ + 'numeric' => ':attribute은(는) :value보다 작거나 같아야 합니다.', + 'file' => ':attribute은(는) :value 킬로바이트보다 작거나 같아야 합니다.', + 'string' => ':attribute은(는) :value 자보다 짧거나 같아야 합니다.', + 'array' => ':attribute은(는) :value 개 항목 이하여야 합니다.', + ], + 'max' => [ + 'numeric' => ':attribute은(는) :max보다 클 수 없습니다.', + 'file' => ':attribute은(는) :max 킬로바이트보다 클 수 없습니다.', + 'string' => ':attribute은(는) :max 자보다 길 수 없습니다.', + 'array' => ':attribute은(는) :max 개 항목보다 많을 수 없습니다.', + ], + 'mimes' => ':attribute은(는) :values 유형의 파일이어야 합니다.', + 'mimetypes' => ':attribute은(는) :values 유형의 파일이어야 합니다.', + 'min' => [ + 'numeric' => ':attribute은(는) 최소 :min이어야 합니다.', + 'file' => ':attribute은(는) 최소 :min 킬로바이트여야 합니다.', + 'string' => ':attribute은(는) 최소 :min 자여야 합니다.', + 'array' => ':attribute은(는) 최소 :min 개 항목이 있어야 합니다.', + ], + 'not_in' => '선택된 :attribute은(는) 유효하지 않습니다.', + 'not_regex' => ':attribute 형식이 유효하지 않습니다.', + 'numeric' => ':attribute은(는) 숫자여야 합니다.', + 'password' => '비밀번호가 올바르지 않습니다.', + 'present' => ':attribute 필드가 있어야 합니다.', + 'regex' => ':attribute 형식이 유효하지 않습니다.', + 'required' => ':attribute은(는) 필수 항목입니다.', + 'required_if' => ':other이(가) :value일 때 :attribute은(는) 필수입니다.', + 'required_unless' => ':other이(가) :values에 없을 때 :attribute은(는) 필수입니다.', + 'required_with' => ':values이(가) 있을 때 :attribute은(는) 필수입니다.', + 'required_with_all' => ':values이(가) 모두 있을 때 :attribute은(는) 필수입니다.', + 'required_without' => ':values이(가) 없을 때 :attribute은(는) 필수입니다.', + 'required_without_all' => ':values이(가) 모두 없을 때 :attribute은(는) 필수입니다.', + 'same' => ':attribute와(과) :other는 일치해야 합니다.', + 'size' => [ + 'numeric' => ':attribute은(는) :size여야 합니다.', + 'file' => ':attribute은(는) :size 킬로바이트여야 합니다.', + 'string' => ':attribute은(는) :size 자여야 합니다.', + 'array' => ':attribute은(는) :size 개 항목을 포함해야 합니다.', + ], + 'starts_with' => ':attribute은(는) :values 중 하나로 시작해야 합니다.', + 'string' => ':attribute은(는) 문자열이어야 합니다.', + 'timezone' => ':attribute은(는) 유효한 시간대여야 합니다.', + 'unique' => ':attribute은(는) 이미 사용 중입니다.', + 'uploaded' => ':attribute 업로드에 실패했습니다.', + 'url' => ':attribute 형식이 유효하지 않습니다.', + 'uuid' => ':attribute은(는) 유효한 UUID여야 합니다.', + + /* + |-------------------------------------------------------------------------- + | Custom Validation Language Lines + |-------------------------------------------------------------------------- + | + | 특정 필드의 특정 규칙에 대한 커스텀 메시지 + | + */ + + 'custom' => [ + 'attribute-name' => [ + 'rule-name' => 'custom-message', + ], + ], + + /* + |-------------------------------------------------------------------------- + | Custom Validation Attributes + |-------------------------------------------------------------------------- + | + | 필드별 attribute 이름 정의 + | + */ + + 'attributes' => [ + // 사용자 관련 + 'user_id' => '사용자 아이디', + 'name' => '이름', + 'email' => '이메일', + 'phone' => '전화번호', + 'password' => '비밀번호', + 'password_confirmation' => '비밀번호 확인', + 'position' => '직책', + + // 회사/테넌트 관련 + 'company_name' => '회사명', + 'business_num' => '사업자등록번호', + 'company_scale' => '회사 규모', + 'industry' => '업종', + + // 제품 관련 + 'product_name' => '제품명', + 'category_id' => '카테고리', + 'code' => '코드', + 'description' => '설명', + 'unit' => '단위', + 'price' => '가격', + + // 자재 관련 + 'material_name' => '자재명', + 'material_code' => '자재 코드', + 'specification' => '규격', + + // 거래처 관련 + 'client_code' => '거래처 코드', + 'client_name' => '거래처명', + 'contact_person' => '담당자', + + // 공통 + 'is_active' => '활성 상태', + 'sort_order' => '정렬 순서', + 'parent_id' => '상위 항목', + 'tenant_id' => '테넌트', + ], + +]; \ No newline at end of file