diff --git a/packages/common/business_components/src/ui/sdmInsertForm/index.tsx b/packages/common/business_components/src/ui/sdmInsertForm/index.tsx index 767f3dd56..f66aadadf 100644 --- a/packages/common/business_components/src/ui/sdmInsertForm/index.tsx +++ b/packages/common/business_components/src/ui/sdmInsertForm/index.tsx @@ -14,16 +14,41 @@ import type { SelectDataType } from "../search_input_select"; export type DemandCompType = { - dmdInfoPk : string | ''; - bzmnNo : string | ''; - dmdCoNm : string | ''; - daddr : string | ''; - telno : string | ''; - rgtr : string | ''; - useUsgCd : string | ''; - ctpvCd : string | ''; - sggCd : string | ''; - dmdAplyPswd: string | ''; + dmdInfoPk: string; + bzmnNo: string; + dmdCoNm: string; + daddr: string; + telno: string; + rgtr: string; + useUsgCd: string; + ctpvCd: string; + sggCd: string; + dmdAplyPswd: string; + dmdInfoFk: string; + wntUntprc: number | ""; + dmndTmng: "" | Date; + dmndQty: number | ""; + bznmTotNo: string; + grssClfg: number | ""; + tn: number | ""; + combResdch: number | ""; + tph: number | ""; + useYn: string; + delYn: string; + regDt: string; + updtDt: string; + updtr: string; + trbt: number | ""; + ph: number | ""; + blgcOxygDmndQnt: number | ""; + clIonQnt: number | ""; + dmndQnt: number | ""; + dmndUntprc: number | ""; + dmndAmt: number | ""; + smll: number | ""; + cdtnv: number | ""; + crmty: number | ""; + rmrk: string; } @@ -60,16 +85,13 @@ const createFormSchema = (isBznmTotNoDisabled: boolean, isDuplicate: boolean) => .max(12, "전화번호는 12자 이내로 입력해주세요") .regex(/^[0-9-]+$/, "전화번호는 숫자와 하이픈(-)만 입력 가능합니다"), rgtr: z.string().optional(), - dmdAplyPswd : z.string() - .min(1, "패스워드를 입력해주세요") - .min(8, "패스워드는 8자 이상 입력해주세요") - .max(16, "패스워드는 16자 이내로 입력해주세요"), + dmdAplyPswd: z.string().optional() + .refine((val) => !val || (val.length >= 8 && val.length <= 16), "패스워드는 8자 이상 16자 이내로 입력해주세요"), }); -type FormSchema = ReturnType; -export type FormData = z.infer; +type FormSchema = z.infer>; -const defaultValues: FormData = { +const defaultValues: FormSchema = { ctpvCd: '', sggCd: '', dmdCoNm: '', @@ -78,7 +100,7 @@ const defaultValues: FormData = { daddr: '', telno: '', rgtr: "3fa85f64-5717-4562-b3fc-2c963f66afa6", - dmdAplyPswd : '', + dmdAplyPswd: '', }; /** @@ -125,7 +147,7 @@ export default function SdmInsertForm({selectSidoData, selectSigunData, dataList const [isDuplicate, setIsDuplicate] = useState(false); const formSchema = createFormSchema(isBznmTotNoDisabled, isDuplicate); - const form = useForm>({ + const form = useForm({ resolver: zodResolver(formSchema), defaultValues, mode: "onChange", @@ -146,7 +168,7 @@ export default function SdmInsertForm({selectSidoData, selectSigunData, dataList rtnValue(searchText, pageCnt); }, [rtnValue]); - const onSubmit: SubmitHandler> = async (data) => { + const onSubmit: SubmitHandler = async (data) => { try { // form 에러 체크 const formErrors = form.formState.errors; @@ -160,10 +182,10 @@ export default function SdmInsertForm({selectSidoData, selectSigunData, dataList const formData = { ...data, dmdInfoPk, + bzmnNo: data.dmdInfoPk, }; console.log(formData); - /* await insertSdmData(formData); */ rtnInputData(formData as DemandCompType); const queryParams = new URLSearchParams({