본문 바로가기

zod3

[ Superform | Zod ] 스키마 분할 -> superRefine 처리 -> superValidate 요청 안녕하세요 예옹이입니다~이번 웹프로젝트에서 제가 맡은 메뉴는 한번에 54개의 컬럼을 작업해주어야했습니다.컬럼 값이 너무 많아 애초에 서버에서 schema를 나눠서 클라이언트로 줄까 생각했지만,한번에 기본값으로 길게 주되 받고나서 그 값을 나누는 작업을 서버에서 진행해보고 싶었습니다! const schema = z.object({ id: z.string().optional(), accidentMgmtNo: z.string().min(1, { message: '사고관리번호를 입력해주세요.' }), companyBusinessRegistrationNo: z.string({ required_error: '사업자등록번호를 입력해주세요.' }), companyId: z.string({ required_err.. 2024. 11. 21.
validation library 비교 (zod, class-validator, joi) data validation library 순위Zod (31k ⭐)Validator.js (22.7k ⭐)Yup (22.4k ⭐)Joi (20.7k ⭐)Ajv (13.5k ⭐)Superstruct (6.9k ⭐)Valibot (5.3k ⭐)v8n (4.2k ⭐)Typia (4.1k ⭐)Ow (3.8k ⭐)출처 : https://byby.dev/js-object-validators  1. zod 활용const schema = z.object({ name: z.string().min(2, '이름이 올바르지 않습니다'), age: z.number().min(18, '18세 이상만 가능합니다'), email: z.string().email('이메일이 올바르지 않습니다'), sex: z.boolean()});함수.. 2024. 10. 11.
zod : 원하는 message가 아닌 ‘expected ~ but got ~’ 라 alert가 뜨는 현상 // 에러가 발생한 코드const formValidation = z.object({ use_state: z .string({ required_error: "사용여부를 선택해주세요." }) .trim() .min(1, { message: "사용여부를 선택해주세요." }), use_purpose: z .string({ required_error: "사용용도를 입력해주세요." }) .trim() .min(1, { message: "사용용도를 입력해주세요." }), product_name: z .string({ required_error: "제품명을 입력해주세요." }) .trim() .min(1, { message.. 2024. 10. 4.