ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-22, Wednesday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

Laravel හි if‑else නොකර Conditional Validation ක්‍රම 3 ක්

Laravel හි if‑else නොකර Conditional Validation ක්‍රම 3 ක්

වෙබ් යෙදුම් ලියන විට පළමු පියවරේ වැරදි නැතිව validation නියමයන් සකස් කරන්නේ "required", "email", "min:8" වැනි සරල නියමයන්ගෙන්යි. නමුත් ව්‍යාපාරික අවශ්‍යතා මතුවෙන විට "CNPJ" වැනි ක්ෂේත්‍රයක් පමණක් ජූරීඩිකල් පාර්ශවයක් සඳහා අත්‍යවශ්‍ය විය යුතුයැයි PO එක කියාදෙයි. එවිට බොහෝ සංවර්ධකයින් පළමු වරට controller තුළ if‑else තැරැව් කර, සටහන් ගොඩනැගීමේදී store() ක්‍රමය ඉතා ගැඹුරු ශාඛා රූපයක් බවට පත්වේ.

මෙම ගැටලුවට Laravel විසින් සකස් කර ඇති අන්තර්ගත මෙවලම් භාවිතා කළොත්, ඔබට කේතය තවත් පැහැදිලි, පරීක්ෂාකාරී හා නඩත්තු කිරීමේ පහසුවක් ලැබේ. මෙහිදී ප්‍රධාන වශයෙන් තුනක් වන විසඳුම් ගැන කතා කරමු.

1. required_if සහ එහි සමීප නියමයන්

ඔබට ක්ෂේත්‍රයක් තවත් ක්ෂේත්‍රයක අගය මත පදනම්ව අත්‍යවශ්‍ය කරවීමට අවශ්‍ය නම්, Laravel හි required_if නියමය භාවිතා කිරීම ප්‍රථම වරටම සරලයි. ඒ සඳහා required_unless, required_with, required_without, exclude_if, prohibited_if වැනි නියමයන් පවා ඇත. උදාහරණයක් ලෙස:

  • "tipo" ක්ෂේත්‍රය "pj" නම් "cnpj" අත්‍යවශ්‍ය.
  • "tipo" "pf" නම් "cpf" අත්‍යවශ්‍ය.
  • "quer_newsletter" true නම් "email" අත්‍යවශ්‍ය.

එම නියමයන් එකතු කර ලියන විට, controller එකේ if‑else තැරැව්වක් නොමැතිව නියමයන් සම්පූර්ණයෙන්ම array එක තුළින්ම පාලනය කරගත හැක.

2. Rule::when – කොන්ටෙක්ස්ට් අනුව නියමය

කාලය, පරිශීලක භූමිකාව, subscription level වැනි බාහිර කොන්දේසි මත නියමය වෙනස් කළ යුතු නම් Rule::when භාවිතා කරන්න. මෙය නියමයම තුළම තීරණය කිරීමේ හැකියාව ලබා දෙයි. උදාහරණයක් ලෙස, පරිපාලකයෙකුට "slug" ක්ෂේත්‍රය අත්‍යවශ්‍ය සහ unique විය යුතු අතර, සාමාන්‍ය පරිශීලකයෙකුට එය nullable වේ.

3. sometimes() – සංකීර්ණ තර්කයන් සඳහා

"discount" ක්ෂේත්‍රය ඇතුළත් වීමත්, ඇණවුමේ මුළු මුදල 500 රුපියල් ඉක්මවීමත් සමඟ පමණක් පරීක්ෂා කළ යුතු නම්, Form Request හි withValidator මගින් sometimes() ක්‍රමය භාවිතා කරමු. මෙය closure එකක් මඟින් තීරණය කර, සංකීර්ණ ලොජික් එකක් තනි තැනක රඳවා තබයි.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

ශ්‍රී ලංකාවේ බොහෝ සංවර්ධකයින් Laravel භාවිතා කරයි. Conditional validation කුසලතා ඉගෙනීමෙන්:

  • කේතයේ පැහැදිළිත්වය වැඩිවීම නිසා නවකයන්ට ඉගෙනීම පහසු වේ.
  • පරීක්ෂා ලේඛන ලිවීම සරලවී, CI/CD පරිසරයන්හි වැරදි අවම වේ.
  • ව්‍යාපාරික යෙදුම් වේගයෙන් සංවර්ධනය කර, පාරිභෝගික අවශ්‍යතා වෙනස් වීමේදී ඉක්මනින් අනුකූල කරගත හැක.

ඉදිරියේදී Laravel හි මෙම නියමයන් භාවිතා කර, අපේ දේශීය තාක්ෂණික සමාජයේ කාර්ය සාධන මට්ටම උසස් කර, ගෝලීය තරඟකාරීත්වයට සූදානම් වෙමු.

අවසන් වශයෙන්, Laravel හි built‑in conditional validation නියමයන් ඔබේ කේතය සරල, පරීක්ෂා කළ හැකි, නඩත්තු කිරීමේ පහසුවක් ලබා දේ. දැන් ඔබේ ව්‍යාපෘතියේ validation ලොජික් එකක් නැවත සැලසුම් කර බලන්න.

💡 Laravel වල conditional validation දැන් සරලව අත්හදා බලන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#Laravel #validation #PHP #webdev #coding