diff options
| author | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-10-13 08:56:27 +0000 |
|---|---|---|
| committer | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-10-13 08:56:27 +0000 |
| commit | b9a2081a76e669688d5884f20482b37cc8acca22 (patch) | |
| tree | 385e78c05d193a54daaced836f1e1152696153a8 /lib/bidding/validation.ts | |
| parent | e84cf02a1cb4959a9d3bb5bbf37885c13a447f78 (diff) | |
(최겸, 임수민) 구매 입찰, 견적(그룹코드, tbe에러) 수정, data-room 수정
Diffstat (limited to 'lib/bidding/validation.ts')
| -rw-r--r-- | lib/bidding/validation.ts | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/lib/bidding/validation.ts b/lib/bidding/validation.ts index 2011cd27..8476be1c 100644 --- a/lib/bidding/validation.ts +++ b/lib/bidding/validation.ts @@ -71,6 +71,7 @@ export const createBiddingSchema = z.object({ biddingType: z.enum(biddings.biddingType.enumValues, { required_error: "입찰유형을 선택해주세요" }), + biddingTypeCustom: z.string().optional(), awardCount: z.enum(biddings.awardCount.enumValues, { required_error: "낙찰수를 선택해주세요" }), @@ -89,9 +90,6 @@ export const createBiddingSchema = z.object({ // ✅ 가격 정보 (통화 필수) currency: z.string().min(1, "통화를 선택해주세요").default("KRW"), - budget: z.string().optional(), - targetPrice: z.string().optional(), - finalBidPrice: z.string().optional(), // 상태 및 담당자 status: z.enum(biddings.status.enumValues).default("bidding_generated"), @@ -110,8 +108,8 @@ export const createBiddingSchema = z.object({ taxConditions: z.string().min(1, "세금조건은 필수입니다"), incoterms: z.string().min(1, "운송조건은 필수입니다"), contractDeliveryDate: z.string().min(1, "계약납품일은 필수입니다"), - shippingPort: z.string().min(1, "선적지는 필수입니다"), - destinationPort: z.string().min(1, "하역지는 필수입니다"), + shippingPort: z.string().optional(), + destinationPort: z.string().optional(), isPriceAdjustmentApplicable: z.boolean().default(false), sparePartOptions: z.string().optional(), }).optional(), @@ -126,6 +124,15 @@ export const createBiddingSchema = z.object({ }, { message: "제출시작일시가 제출마감일시보다 늦을 수 없습니다", path: ["submissionEndDate"] + }).refine((data) => { + // 기타 입찰유형 선택 시 직접입력 필드 검증 + if (data.biddingType === "other") { + return data.biddingTypeCustom && data.biddingTypeCustom.trim().length > 0 + } + return true + }, { + message: "기타 입찰유형을 선택한 경우 직접 입력해주세요", + path: ["biddingTypeCustom"] }) export const updateBiddingSchema = z.object({ |
