වෙබ් සංවර්ධනයේ නවීන තාක්ෂණයක් ලෙස Next.js භාවිතා කරන සමාජයෙහි, නිෂ්පාදන මට්ටමේ යෙදුම් සඳහා ආදාන පරීක්ෂණය අත්යවශ්ය වේ. එය අතට අතේ ලියන ලද පරීක්ෂණ කේතයක් මඟින් කරන්නේ නම්, වැරදි, දිගු හා අසමත් කේතයක් ලැබෙයි.
සමහර දේවල් පරීක්ෂා කරන ආකාරය මෙසේය: if (!body.email) return error('Email required'); වගේම, if (!body.password) return error('Password required'); වැනි කේත පේළි ලියනවා. මෙවැනි පරීක්ෂණය අතිශය කාලය ගනී, වැරදි සිදුවීමේ අවදානම වැඩි වන අතර TypeScript වර්ග (type) ලබා දීමට නොහැක.
ඉතා පහසු විසඳුමක් Zod නමින් නව JavaScript/TypeScript ලයිබ්රරියකි. npm හරහා npm install zod ලෙස ස්ථාපනය කළ පසු, ඔබට සරලව ස්කීමා (schema) නිර්මාණය කර, ඒමගින් රන්ටයිම් පරීක්ෂණය හා වර්ග අනුමාන (type inference) දෙකම ලබා ගත හැක.
උදාහරණයක් ලෙස, පරිශීලක තොරතුරු සදහා z.object({ name: z.string().min(2), email: z.string().email(), age: z.number().min(18).optional(), role: z.enum(['admin','user']).default('user') }) ලෙස සකස් කළ හැක. මෙය TypeScript හි z.infer භාවිතයෙන් { name: string; email: string; age?: number; role: 'admin' | 'user' } වර්ගයක් ලෙස ස්වයංක්රීයව ලබා දේ.
API රූට් එකකදී safeParse ක්රමය භාවිතා කරන්නේ නම්, පරීක්ෂණය අසාර්ථක වූ විට එය දෝෂ පණිවිඩයක් ලෙස පෙන්වයි, අසාර්ථක නොවූ විට result.data තුළින් සම්පූර්ණ වර්ගිත දත්ත ලබා ගත හැක. මෙය සේවාදායක කාර්යයන් (server actions) තුළද එකසේ ක්රියා කරයි.
Zod හි ලබා දෙන සාමාන්ය පේටර්න් කිහිපයක්:
- z.string().min(3) – කුඩාම අක්ෂර 3
- z.string().email() – වලංගු ඊමේල්
- z.number().int() – පූර්ණ සංඛ්යාව
- z.coerce.number() – string → number පරිවර්තනය
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ තාක්ෂණ ශිෂ්යයින්ට Zod භාවිතය ඉගෙන ගැනීම, ඔවුන්ගේ කේත ලිවීමේ වේගය ඉහළ නැංවීමට හා දෝෂ අඩු කිරීමට උපකාරී වේ. දේශීය ව්යාපාර සඳහා, ආදාන පරීක්ෂණය අතිරේකව ස්වයංක්රීයව සිදු කිරීමෙන් API ආරක්ෂාව වර්ධනය වේ, එමඟින් පාරිභෝගික විශ්වාසය වැඩිවේ. වැඩිදුරටත්, TypeScript වර්ගයන් සමඟ සම්බන්ධ වීම නිසා සංවර්ධක කණ්ඩායම් අතර සම්බන්ධතා (collaboration) වඩාම සුළු වේ.
ඉදිරියට Zod වැනි නව ලයිබ්රරීන් භාවිතා කිරීම, ශ්රී ලංකාවේ වෙබ් සංවර්ධන පරිසරය ජාත්යන්තර තරඟකාරීත්වයට ගෙන යාමට මූලික පියවරක් වේ.