Foundation ফ্রেমওয়ার্ক ওয়েব ডেভেলপমেন্টে খুবই জনপ্রিয় এবং এটি বিভিন্ন ধরনের ফর্ম এবং ইনপুট উপাদান সহজে তৈরি করতে সহায়তা করে। Foundation-এর ফর্ম সিস্টেমটি খুবই ব্যবহারকারী-বান্ধব এবং এর মাধ্যমে আপনি সহজেই আকর্ষণীয় এবং রেসপনসিভ ফর্ম তৈরি করতে পারেন। এর মধ্যে রয়েছে ফর্ম ইনপুট, বাটন, চেকবক্স, রেডিও বাটন সহ অন্যান্য অনেক কম্পোনেন্ট যা রেসপনসিভ ডিজাইন অনুযায়ী কাজ করে।
Foundation এর ফর্মস (Forms)
Foundation ফ্রেমওয়ার্কের ফর্ম সিস্টেমটি খুবই সহজ এবং ফ্লেক্সিবল। এতে Sass এর মাধ্যমে কাস্টমাইজ করা যায়, যা বিভিন্ন ধরনের ইনপুট উপাদান, বাটন, সিলেক্ট অপশন, এবং অন্যান্য ফর্ম এলিমেন্টকে একত্রিত করে।
১. বেসিক ফর্ম (Basic Form)
Foundation এ ফর্ম তৈরি করা খুব সহজ। নিচে একটি সাধারণ ফর্মের উদাহরণ দেওয়া হলো:
<form>
<div class="grid-x grid-padding-x">
<div class="cell">
<label for="name">নাম:</label>
<input type="text" id="name" placeholder="আপনার নাম লিখুন">
</div>
<div class="cell">
<label for="email">ইমেইল:</label>
<input type="email" id="email" placeholder="আপনার ইমেইল লিখুন">
</div>
<div class="cell">
<button type="submit" class="button">সাবমিট</button>
</div>
</div>
</form>
এখানে:
- grid-x এবং grid-padding-x ক্লাসগুলি গ্রিড সিস্টেম ব্যবহার করে ফর্মের ইনপুট এবং বাটনগুলোর মধ্যে স্পেস তৈরি করতে ব্যবহৃত হয়েছে।
- cell ক্লাসটি গ্রিড সিস্টেমের সেল হিসেবে কাজ করছে, যা প্রতিটি ইনপুট ফিল্ডের জন্য একটি স্পেস তৈরি করে।
ইনপুট ফিল্ডস (Input Fields)
Foundation এর ইনপুট ফিল্ডগুলি রেসপনসিভ এবং কাস্টমাইজযোগ্য। এখানে বিভিন্ন ধরনের ইনপুট ফিল্ড যেমন text, email, password, search ইত্যাদি রয়েছে।
২. টেক্সট ইনপুট (Text Input)
<label for="username">ইউজারনেম:</label>
<input type="text" id="username" placeholder="আপনার ইউজারনেম লিখুন">
৩. ইমেইল ইনপুট (Email Input)
<label for="email">ইমেইল:</label>
<input type="email" id="email" placeholder="আপনার ইমেইল লিখুন">
৪. পাসওয়ার্ড ইনপুট (Password Input)
<label for="password">পাসওয়ার্ড:</label>
<input type="password" id="password" placeholder="আপনার পাসওয়ার্ড লিখুন">
ফর্ম কম্পোনেন্টস (Form Components)
Foundation এর ফর্ম সিস্টেমে আরও অনেক ধরনের কম্পোনেন্ট রয়েছে যা সাধারণভাবে ফর্মের জন্য ব্যবহৃত হয়।
১. চেকবক্স (Checkbox)
<label>
<input type="checkbox" id="subscribe" name="subscribe" checked>
নিউজলেটারে সাবস্ক্রাইব করুন
</label>
২. রেডিও বাটন (Radio Button)
<label>
<input type="radio" name="gender" value="male"> পুরুষ
</label>
<label>
<input type="radio" name="gender" value="female"> মহিলা
</label>
৩. সিলেক্ট অপশন (Select Option)
<label for="country">দেশ নির্বাচন করুন:</label>
<select id="country">
<option value="bd">বাংলাদেশ</option>
<option value="in">ভারত</option>
<option value="pk">পাকিস্তান</option>
</select>
৪. টেক্সটএArea (Text Area)
<label for="message">মেসেজ:</label>
<textarea id="message" placeholder="আপনার বার্তা লিখুন"></textarea>
ফর্ম স্টাইলিং এবং কাস্টমাইজেশন
Foundation ফ্রেমওয়ার্কে ফর্ম ইনপুট এবং অন্যান্য ফর্ম এলিমেন্টগুলো স্টাইল করতে বেশ কিছু CSS ক্লাস এবং Sass ফিচার দেওয়া হয়। আপনি Sass এর মাধ্যমে ইনপুটের ফন্ট সাইজ, ফন্ট কালার, প্যাডিং এবং মার্জিন সহজেই কাস্টমাইজ করতে পারেন।
১. বাটন কাস্টমাইজেশন (Button Customization)
Foundation-এর button ক্লাসটি ব্যবহার করে ফর্মের বাটনকে সহজেই স্টাইল করা যায়। যেমন:
<button type="submit" class="button success">সাবমিট করুন</button>
এখানে:
- success ক্লাসটি বাটনকে সবুজ রঙে পরিবর্তন করবে।
২. এডভান্সড ইনপুট কাস্টমাইজেশন (Advanced Input Customization)
<label for="phone">ফোন নম্বর:</label>
<input type="text" id="phone" class="input-group-field" placeholder="আপনার ফোন নম্বর লিখুন">
এখানে input-group-field ক্লাসটি ইনপুট ফিল্ডকে কাস্টমাইজ করে, যাতে এটি গ্রিড সিস্টেমের সাথে ভালোভাবে মেলানো যায়।
Foundation ফর্ম এবং ইনপুটের অতিরিক্ত ফিচার
Foundation ফ্রেমওয়ার্কের ফর্ম সিস্টেম আরও অনেক উন্নত ফিচারের সাথে আসে:
- ফর্ম ভ্যালিডেশন: Foundation-এর ফর্মের সাথে আপনি সহজে ফর্ম ভ্যালিডেশন যোগ করতে পারেন। এর জন্য আপনি HTML5 ইনপুট টাইপ (যেমন:
required,min,max) ব্যবহার করতে পারেন। - মডাল ফর্ম: ফাউন্ডেশনে মডাল উইন্ডো ব্যবহার করে ফর্ম ইন্টারঅ্যাকটিভ করা যায়, যা ওয়েব পেজে রিফ্রেশ ছাড়া ইনপুট সংগ্রহ করতে সহায়তা করে।
Foundation ফ্রেমওয়ার্কের ফর্মস এবং ইনপুটস সিস্টেম একটি শক্তিশালী টুল যা ওয়েব ডেভেলপমেন্টকে সহজ এবং দ্রুততর করে তোলে। এর রেসপনসিভ ডিজাইন এবং কাস্টমাইজেশন ফিচারের মাধ্যমে আপনি খুব সহজে আধুনিক, পেশাদার এবং ব্যবহারকারী-বান্ধব ফর্ম তৈরি করতে পারেন। Foundation এর ফর্ম সিস্টেম ব্যবহার করে ওয়েবসাইটের ইনপুট ফিল্ড, বাটন এবং অন্যান্য ফর্ম এলিমেন্টকে আরও কার্যকরী এবং আকর্ষণীয় করে তোলা যায়।
Foundation ফ্রেমওয়ার্কটি ফর্ম তৈরি এবং কাস্টমাইজ করার জন্য বেশ কিছু শক্তিশালী এবং প্রি-বিল্ট কম্পোনেন্ট প্রদান করে। ফাউন্ডেশন ফ্রেমওয়ার্কের মাধ্যমে আপনি সহজেই রেসপনসিভ এবং ইউজার-বান্ধব ফর্ম তৈরি করতে পারেন। Foundation এ ফর্ম তৈরি এবং কাস্টমাইজ করতে বিভিন্ন স্টাইল এবং ফিচার ব্যবহার করা যায়, যেমন: ইনপুট ফিল্ড, বাটন, সিলেক্ট ড্রপডাউন, চেকবক্স ইত্যাদি।
Foundation এ ফর্ম তৈরি
Foundation ফ্রেমওয়ার্কে ফর্ম তৈরি করতে মূলত .form ক্লাস এবং উপাদানগুলি ব্যবহার করা হয়। নিচে একটি সাধারণ ফর্ম তৈরি করার উদাহরণ দেওয়া হলো:
উদাহরণ: সাধারণ ফর্ম
<div class="row">
<div class="small-12 medium-6 columns">
<label for="name">নাম</label>
<input type="text" id="name" placeholder="আপনার নাম লিখুন">
</div>
<div class="small-12 medium-6 columns">
<label for="email">ইমেল</label>
<input type="email" id="email" placeholder="আপনার ইমেল লিখুন">
</div>
<div class="small-12 columns">
<label for="message">বার্তা</label>
<textarea id="message" placeholder="আপনার বার্তা লিখুন"></textarea>
</div>
<div class="small-12 columns">
<button type="submit" class="button">সাবমিট</button>
</div>
</div>
এখানে:
.small-12: মোবাইল স্ক্রীনে পুরো প্রস্থ (full width)।.medium-6: মিডিয়াম স্ক্রীনে অর্ধেক প্রস্থ (half width)।.columns: গ্রিড সিস্টেমের কলাম।
এই ফর্মটি রেসপনসিভ এবং Foundation এর গ্রিড সিস্টেমের সাহায্যে মোবাইল, ট্যাবলেট এবং ডেস্কটপে সুন্দরভাবে দেখাবে।
ফাউন্ডেশন এ ফর্ম কাস্টমাইজেশন
Foundation ফ্রেমওয়ার্কটি ফর্ম কাস্টমাইজেশন-এর জন্য বিভিন্ন স্টাইল এবং টুলস প্রদান করে। এর মধ্যে ইনপুট ফিল্ড, বাটন, সিলেক্ট ড্রপডাউন, চেকবক্স ইত্যাদির কাস্টমাইজেশন করা যায়। ফাউন্ডেশনের সিএসএস ক্লাস ব্যবহার করে এই উপাদানগুলিকে আরও আকর্ষণীয় এবং ইউজার-বান্ধব বানানো যায়।
১. ইনপুট ফিল্ড কাস্টমাইজেশন
Foundation এ ইনপুট ফিল্ড কাস্টমাইজ করার জন্য সহজ ক্লাস এবং স্টাইল ব্যবহার করা যায়।
<label for="name">নাম</label>
<input type="text" id="name" class="input-group-field" placeholder="আপনার নাম লিখুন">
এখানে input-group-field ক্লাস ব্যবহার করা হয়েছে, যা ইনপুট ফিল্ডকে আরও সুন্দর এবং নির্দিষ্ট আকারে প্রদর্শিত করে।
২. বাটন কাস্টমাইজেশন
Foundation ফ্রেমওয়ার্কের বাটন ক্লাস ব্যবহার করে বিভিন্ন ধরনের বাটন তৈরি করা যায়। যেমন:
<button type="submit" class="button primary">সাবমিট</button>
<button type="reset" class="button secondary">রিসেট</button>
এখানে:
primary: প্রধান বাটন (যেমন, সিলেক্ট বা সাবমিট বাটন)secondary: সেকেন্ডারি বাটন (যেমন, রিসেট বাটন)
Foundation এ আপনি বাটনের আকার এবং রঙ পরিবর্তন করতে পারেন।
৩. সিলেক্ট ড্রপডাউন কাস্টমাইজেশন
Foundation সিলেক্ট ড্রপডাউন মেনু কাস্টমাইজ করতে সহজ স্টাইল প্রদান করে।
<label for="dropdown">দেশ নির্বাচন করুন</label>
<select id="dropdown">
<option value="1">বাংলাদেশ</option>
<option value="2">ভারত</option>
<option value="3">পাকিস্তান</option>
</select>
এখানে সিলেক্ট ড্রপডাউন এলিমেন্টের জন্য select ট্যাগ ব্যবহার করা হয়েছে, যা মোবাইল এবং ডেস্কটপে রেসপনসিভ লেআউট প্রদান করবে।
৪. চেকবক্স এবং রেডিও বাটন কাস্টমাইজেশন
Foundation ফ্রেমওয়ার্ক চেকবক্স এবং রেডিও বাটন কাস্টমাইজ করতে সুবিধা প্রদান করে।
<label><input type="checkbox" name="agree"> আমি শর্তাবলী মেনে নিচ্ছি</label>
চেকবক্সের জন্য input type="checkbox" ব্যবহার করা হয়েছে। একইভাবে রেডিও বাটনও Foundation এর স্টাইল দ্বারা কাস্টমাইজ করা যায়।
৫. ফর্ম ইনপুট গ্রুপ
Foundation ফ্রেমওয়ার্ক ইনপুট ফিল্ডগুলিকে গ্রুপ করতে সহায়তা করে। আপনি সহজেই বিভিন্ন ইনপুট ফিল্ড একসাথে যুক্ত করতে পারেন।
<div class="input-group">
<span class="input-group-label">@</span>
<input type="text" class="input-group-field" placeholder="ইমেল লিখুন">
</div>
এখানে .input-group ক্লাসের মাধ্যমে ইনপুট ফিল্ডের সাথে লেবেল যুক্ত করা হয়েছে। এটি স্লিম এবং স্টাইল করা উপাদান তৈরি করে।
ফর্মের জন্য আরও কিছু ফিচার
১. ফর্ম ভ্যালিডেশন
Foundation ফ্রেমওয়ার্কের ফর্ম ভ্যালিডেশন ব্যবহার করে ফর্মের ইনপুট যাচাই করা যায়।
<form data-abide="ajax">
<label for="email">ইমেল</label>
<input type="email" id="email" placeholder="ইমেল লিখুন" required>
<button type="submit" class="button">সাবমিট</button>
</form>
এখানে data-abide="ajax" ব্যবহার করা হয়েছে, যা ফর্ম ভ্যালিডেশন সক্ষম করে।
২. মডাল উইন্ডো
ফাউন্ডেশন ফ্রেমওয়ার্ক মডাল উইন্ডো তৈরি করতে সাহায্য করে। এটি ফর্মের তথ্য জমা দেয়ার জন্য ব্যবহার করা যেতে পারে।
<a href="#" data-open="modal1" class="button">ফর্ম দেখুন</a>
<div class="reveal" id="modal1" data-reveal>
<h1>ফর্ম</h1>
<form>
<!-- ফর্ম ফিল্ডস -->
<button type="submit" class="button">সাবমিট</button>
</form>
<button class="close-button" data-close aria-label="Close modal">×</button>
</div>
এখানে data-open="modal1" এবং data-reveal ক্লাস ব্যবহার করা হয়েছে, যা মডাল উইন্ডোতে ফর্ম দেখানোর জন্য ব্যবহৃত হয়।
Foundation ফ্রেমওয়ার্কে ফর্ম তৈরি এবং কাস্টমাইজ করা অত্যন্ত সহজ এবং দ্রুত। এর গ্রিড সিস্টেম, স্টাইল ক্লাস এবং বিভিন্ন ইনপুট কম্পোনেন্ট ফর্ম ডিজাইনকে রেসপনসিভ, কার্যকর এবং ইউজার-বান্ধব করে তোলে। আপনি কাস্টম ক্লাস ব্যবহার করে ফর্মের ডিজাইন এবং ফিচারগুলি সহজেই কাস্টমাইজ করতে পারবেন। Foundation এর এই শক্তিশালী ফিচারগুলো ওয়েব ডেভেলপমেন্টের সময় ও পরিশ্রম কমিয়ে আনে।
Foundation ফ্রেমওয়ার্ক ইনপুট ফিল্ডস, চেকবক্স এবং রেডিও বাটনগুলোর জন্য বিশেষভাবে কাস্টমাইজড এবং ব্যবহারকারী-বান্ধব ডিজাইন প্রদান করে। এই উপাদানগুলো ওয়েবসাইটের ইন্টারঅ্যাকটিভ ফিচারগুলোর মধ্যে অন্যতম, এবং তাদের সঠিক ডিজাইন এবং কার্যকারিতা ওয়েবসাইটের ইউজার এক্সপেরিয়েন্সকে উন্নত করতে সহায়তা করে।
Foundation এ ইনপুট ফিল্ডস, চেকবক্স এবং রেডিও বাটনগুলোর জন্য কিছু বিশেষ বেস্ট প্র্যাকটিস এবং স্টাইলিং রুলস রয়েছে, যা আপনার ফর্ম ডিজাইনকে আরও পরিষ্কার, সুশৃঙ্খল এবং ব্যবহারকারী-বান্ধব করে তুলতে সাহায্য করে।
১. Input Fields (ইনপুট ফিল্ডস)
ইনপুট ফিল্ড হল একটি ফর্মের অন্যতম প্রধান উপাদান। Foundation এর input ফিল্ডগুলো খুবই সিম্পল এবং কাস্টমাইজযোগ্য।
বেসিক স্টাইলিং:
<input type="text" class="input-field" placeholder="এখানে কিছু লিখুন">
বেস্ট প্র্যাকটিস:
- প্লেসহোল্ডার (Placeholder): ইনপুট ফিল্ডে প্লেসহোল্ডার ব্যবহার করা উচিত, যা ব্যবহারকারীকে জানাবে কী ধরণের ইনপুট প্রত্যাশিত। তবে, খুব বেশি প্লেসহোল্ডার ব্যবহার করা থেকে বিরত থাকুন, কারণ এটি ব্যবহারকারীর জন্য বিভ্রান্তির কারণ হতে পারে।
- ট্যাব অর্ডার (Tab Order): ফর্ম ফিল্ডগুলো এমনভাবে সাজানো উচিত, যাতে ব্যবহারকারী কিবোর্ডের মাধ্যমে ট্যাব প্রেস করে সহজে এগিয়ে যেতে পারে।
অ্যাক্সেসিবিলিটি: ইনপুট ফিল্ডগুলোর জন্য label ট্যাগ ব্যবহার করা উচিত। এটি স্ক্রিন রিডার ব্যবহারকারীদের সহায়তা করে।
<label for="username">ইউজারনেম</label> <input type="text" id="username" class="input-field" placeholder="আপনার ইউজারনেম">আকার কাস্টমাইজেশন: ফিল্ডের আকার সঠিকভাবে সেট করা উচিত, যাতে এটি খুব বড় বা ছোট না হয়। Foundation এ বিভিন্ন সাইজের ইনপুট ফিল্ড রয়েছে যেমন: small, medium, large।
<input type="text" class="input-field large" placeholder="বড় ইনপুট ফিল্ড">
২. Checkboxes (চেকবক্স)
চেকবক্সের মাধ্যমে ব্যবহারকারী এক বা একাধিক অপশন নির্বাচন করতে পারে। Foundation চেকবক্সের জন্য স্টাইল এবং কার্যকারিতা সহজ করে তোলে।
বেসিক স্টাইলিং:
<label>
<input type="checkbox"> আমি শর্তাবলী পড়েছি
</label>
বেস্ট প্র্যাকটিস:
স্পষ্ট লেবেল (Clear Label): চেকবক্সের জন্য স্পষ্ট এবং বোধগম্য লেবেল প্রদান করা উচিত। এটি ব্যবহারকারীর জন্য চেকবক্সটির উদ্দেশ্য পরিষ্কার করবে।
<label for="terms"> <input type="checkbox" id="terms"> শর্তাবলী পড়েছি </label>- ইন্টারঅ্যাকশন ফিডব্যাক: চেকবক্স চেক করা হলে এটি স্পষ্টভাবে ব্যবহারকারীর কাছে ফুটে ওঠা উচিত। Foundation এর ডিফল্ট স্টাইলিং চেকবক্স চেক হলে পরিবর্তিত হবে, তবে আপনি চাইলে এতে কাস্টম ফিডব্যাকও যোগ করতে পারেন।
গ্রুপিং: একাধিক চেকবক্সের ক্ষেত্রে, গ্রুপিং ব্যবহারকারীদের জন্য সুবিধাজনক।
<label><input type="checkbox"> অপশন ১</label> <label><input type="checkbox"> অপশন ২</label> <label><input type="checkbox"> অপশন ৩</label>
৩. Radio Buttons (রেডিও বাটনস)
রেডিও বাটন ব্যবহারকারীদের একটি নির্দিষ্ট অপশন নির্বাচন করতে সাহায্য করে, যেখানে একাধিক অপশনের মধ্যে কেবল একটিই সিলেক্ট করা যেতে পারে।
বেসিক স্টাইলিং:
<label>
<input type="radio" name="gender" value="male"> পুরুষ
</label>
<label>
<input type="radio" name="gender" value="female"> মহিলা
</label>
বেস্ট প্র্যাকটিস:
গ্রুপিং (Grouping): রেডিও বাটনগুলিকে একে অপরের সাথে গ্রুপ করতে হবে যাতে একই গ্রুপের মধ্যে একটিই নির্বাচন করা যায়। Foundation এ
nameঅ্যাট্রিবিউট ব্যবহার করে রেডিও বাটনগুলোকে গ্রুপ করা হয়।<label> <input type="radio" name="gender" value="male"> পুরুষ </label> <label> <input type="radio" name="gender" value="female"> মহিলা </label>- স্পষ্ট লেবেল (Clear Label): রেডিও বাটনগুলির জন্য স্পষ্ট এবং বোধগম্য লেবেল প্রদান করুন।
ডিফল্ট সিলেকশন (Default Selection): যদি কোনও অপশন ডিফল্টভাবে সিলেক্ট করা থাকে, তবে সেটি উপযুক্তভাবে চিহ্নিত করুন।
<label> <input type="radio" name="gender" value="male" checked> পুরুষ </label> <label> <input type="radio" name="gender" value="female"> মহিলা </label>
৪. ইনপুট ফিল্ডস, চেকবক্স এবং রেডিও বাটনসের জন্য অতিরিক্ত বেস্ট প্র্যাকটিস
- ফর্ম ভ্যালিডেশন: ইনপুট ফিল্ড, চেকবক্স এবং রেডিও বাটনগুলির জন্য সঠিক ভ্যালিডেশন প্রয়োগ করা উচিত। Foundation এর সাথে JavaScript প্লাগইন ব্যবহার করে আপনি ফর্ম ভ্যালিডেশন যুক্ত করতে পারেন, যাতে ব্যবহারকারী সঠিক তথ্য প্রদান করেন।
- অ্যাক্সেসিবিলিটি: সমস্ত ইনপুট ফিল্ড, চেকবক্স, রেডিও বাটন এবং অন্যান্য ফর্ম উপাদানের জন্য label ব্যবহার করা উচিত। এটি স্ক্রীন রিডার ব্যবহারকারীদের জন্য গুরুত্বপূর্ণ।
- স্টাইলিং: Foundation এ বিভিন্ন স্টাইলিং ক্লাস রয়েছে, যেমন:
small, medium, large: ইনপুট ফিল্ডের আকার কাস্টমাইজ করতে ব্যবহৃত হয়।success, alert, warning: চেকবক্স বা ইনপুট ফিল্ডের স্ট্যাটাস প্রদর্শনের জন্য ব্যবহৃত হয়।
উদাহরণ:
<input type="checkbox" class="success"> সফল চেকবক্স
<input type="radio" class="alert" name="gender" value="male"> পুরুষ
Foundation ফ্রেমওয়ার্কের ইনপুট ফিল্ডস, চেকবক্স এবং রেডিও বাটনগুলোর জন্য বেস্ট প্র্যাকটিসগুলি ব্যবহার করে আপনি একটি পরিষ্কার, সুশৃঙ্খল এবং অ্যাক্সেসিবল ফর্ম তৈরি করতে পারবেন। এই বেস্ট প্র্যাকটিসগুলো ওয়েবসাইটের ইউজার এক্সপেরিয়েন্স এবং অ্যাক্সেসিবিলিটি উন্নত করে, এবং ব্যবহারকারীকে সহজে ফর্ম পূরণে সহায়তা করে।
Form Validation একটি গুরুত্বপূর্ণ প্রক্রিয়া, যা ওয়েব ফর্মে ইনপুট যাচাই করার জন্য ব্যবহৃত হয়। এটি ব্যবহারকারীর ভুল ইনপুট থেকে সিস্টেমকে রক্ষা করে এবং ব্যবহারকারীর অভিজ্ঞতাকে আরও উন্নত করে তোলে। Foundation ফ্রেমওয়ার্কে Form Validation এবং Custom Validation করার জন্য একটি সহজ এবং কার্যকরী সিস্টেম রয়েছে।
ফাউন্ডেশন (Foundation): Form Validation
Foundation-এর form validation সিস্টেমটি খুবই সহজ এবং শক্তিশালী। এটি ইনপুট ফিল্ডগুলির জন্য পূর্বনির্ধারিত বৈশিষ্ট্য যেমন, required, pattern, min/max length ইত্যাদি ব্যবহার করে ডেভেলপারদের জন্য সহজ validation প্রক্রিয়া সরবরাহ করে। Foundation ফ্রেমওয়ার্ক CSS এবং JavaScript প্লাগইন ব্যবহার করে ফর্ম ভ্যালিডেশন সম্পন্ন করে।
ফাউন্ডেশন ফর্ম ভ্যালিডেশনের মূল বৈশিষ্ট্য:
- Required Fields: কিছু ইনপুট ফিল্ড অবশ্যই পূর্ণ করা আবশ্যক।
- Pattern Matching: ইনপুটটি নির্দিষ্ট প্যাটার্ন মেনে হতে হবে (যেমন ইমেল ঠিকানা, ফোন নম্বর)।
- Length Validation: ইনপুটের দৈর্ঘ্য নির্দিষ্ট পরিমাণ হতে হবে।
- Custom Messages: আপনি নিজের ভ্যালিডেশন বার্তা কাস্টমাইজ করতে পারেন।
১. ফর্ম ভ্যালিডেশন উদাহরণ
<form data-abide="ajax">
<label for="email">ইমেল</label>
<input type="email" id="email" name="email" required pattern="email" placeholder="আপনার ইমেল লিখুন">
<small class="error">একটি বৈধ ইমেল ঠিকানা প্রদান করুন</small>
<label for="password">পাসওয়ার্ড</label>
<input type="password" id="password" name="password" required minlength="6" placeholder="পাসওয়ার্ড লিখুন">
<small class="error">পাসওয়ার্ড কমপক্ষে ৬টি ক্যারেক্টার হতে হবে</small>
<button type="submit" class="button">সাবমিট করুন</button>
</form>
এখানে:
- data-abide="ajax": Foundation-এর Abide প্লাগইন ব্যবহার করে ফর্ম ভ্যালিডেশন সক্রিয় করা হয়েছে।
- required: ইনপুট ফিল্ডটি পূর্ণ করা আবশ্যক।
- pattern="email": এটি একটি বৈধ ইমেল ঠিকানা চেক করবে।
- minlength="6": পাসওয়ার্ডের দৈর্ঘ্য কমপক্ষে ৬টি ক্যারেক্টার হতে হবে।
২. ইনপুটের জন্য কাস্টম ভ্যালিডেশন মেসেজ
Foundation এর Abide প্লাগইনে error messages কাস্টমাইজ করা যেতে পারে। উদাহরণস্বরূপ, ইমেল ফিল্ডের জন্য একটি কাস্টম মেসেজ:
<small class="error">আপনার প্রদানকৃত ইমেলটি সঠিক নয়।</small>
এটি ইমেল ইনপুটের জন্য একটি কাস্টম ভ্যালিডেশন মেসেজ সরবরাহ করবে।
৩. ফর্ম ভ্যালিডেশন কনফিগারেশন
Foundation-এর Abide প্লাগইন আপনাকে ফর্ম ভ্যালিডেশনের জন্য বিভিন্ন কনফিগারেশন সেট করার সুযোগ দেয়। উদাহরণস্বরূপ, আপনি Abide এর কনফিগারেশন সেশন সেট করতে পারেন:
$(document).foundation('abide', {
validation_error: function() {
alert("ফর্মে কিছু ভুল আছে, দয়া করে সেগুলো ঠিক করুন!");
}
});
ফাউন্ডেশন (Foundation): Custom Validation
Custom Validation আপনাকে আপনার নিজের কাস্টম ভ্যালিডেশন ফাংশন তৈরি করার সুযোগ দেয়, যা বিশেষ ধরনের চেক বা শর্তাবলী অনুসারে ইনপুট যাচাই করতে ব্যবহৃত হয়। এটি তখন ব্যবহারী প্রয়োজন যখন ফাউন্ডেশন দ্বারা সরবরাহ করা ডিফল্ট ভ্যালিডেশন ফিচার পর্যাপ্ত না হয়।
১. Custom Validation উদাহরণ
ধরা যাক, আপনার একটি ফর্মে একটি ইনপুট ফিল্ড রয়েছে, যা ব্যবহারকারীকে একটি ইউজারনেম প্রদান করতে বলে, এবং আপনি চান যে ওই ইউজারনেমটি অবশ্যই "admin" না হয়ে অন্য কিছু হতে হবে। এর জন্য একটি কাস্টম ভ্যালিডেশন ব্যবহার করতে হবে।
<form id="customForm">
<label for="username">ইউজারনেম</label>
<input type="text" id="username" name="username" placeholder="ইউজারনেম লিখুন" required>
<small class="error" id="usernameError">"admin" ইউজারনেমটি গ্রহণযোগ্য নয়।</small>
<button type="submit" class="button">সাবমিট করুন</button>
</form>
<script>
// কাস্টম ভ্যালিডেশন
$(document).ready(function() {
$('#customForm').on('submit', function(e) {
var username = $('#username').val();
if (username === "admin") {
e.preventDefault(); // সাবমিট বন্ধ করুন
$('#usernameError').show(); // ত্রুটি বার্তা দেখান
} else {
$('#usernameError').hide(); // ত্রুটি বার্তা সরান
}
});
});
</script>
এখানে:
- যদি ব্যবহারকারী "admin" ইউজারনেম প্রদান করে, তবে ফর্ম সাবমিট হবে না এবং ত্রুটি বার্তা দেখানো হবে।
- যদি ইউজারনেমটি "admin" না হয়, তবে ফর্মটি সাবমিট হবে।
২. কাস্টম প্যাটার্ন ভ্যালিডেশন
আপনি আপনার পছন্দসই প্যাটার্ন দিয়ে কাস্টম ইনপুট ভ্যালিডেশন করতে পারেন। উদাহরণস্বরূপ, যদি আপনি একটি নির্দিষ্ট প্যাটার্ন অনুসরণ করা একটি ফোন নম্বর চেক করতে চান:
<form data-abide="ajax">
<label for="phone">ফোন নম্বর</label>
<input type="text" id="phone" name="phone" required pattern="^\(\d{3}\) \d{3}-\d{4}$" placeholder="ফোন নম্বর (XXX) XXX-XXXX">
<small class="error">ফোন নম্বরটি সঠিক ফরম্যাটে দিন (যেমন: (123) 456-7890)</small>
<button type="submit" class="button">সাবমিট করুন</button>
</form>
এখানে:
- pattern="^ \d{3}-\d{4}$": এটি একটি কাস্টম রেগুলার এক্সপ্রেশন ব্যবহার করে ফোন নম্বরের প্যাটার্ন চেক করবে।
Foundation ফ্রেমওয়ার্কে Form Validation এবং Custom Validation এর জন্য অনেক সহজ এবং কার্যকরী সিস্টেম রয়েছে। Foundation-এর Abide প্লাগইন এর মাধ্যমে ইনপুট ফিল্ডের জন্য সহজ ভ্যালিডেশন তৈরি করা যায়, এবং আপনি চাইলে কাস্টম ভ্যালিডেশন ফাংশন ব্যবহার করে আরো জটিল এবং নির্দিষ্ট শর্তে ইনপুট যাচাই করতে পারেন। এই সিস্টেমটি ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে সহায়তা করে এবং ফর্ম সাবমিশনের সময় ভুল ইনপুট কমাতে সাহায্য করে।
Foundation ফ্রেমওয়ার্কে Advanced Form Elements, যেমন Switches এবং Range Sliders, ব্যবহৃত হয়ে থাকে। এগুলি বিশেষভাবে ওয়েব ফর্মের ইন্টারঅ্যাকটিভ উপাদান হিসেবে ব্যবহৃত হয়, যা ব্যবহারকারীদের সাথে যোগাযোগের অভিজ্ঞতাকে আরও উন্নত এবং সহজ করে তোলে। Foundation এই উপাদানগুলিকে সুন্দরভাবে স্টাইল এবং কাস্টমাইজ করতে সহায়তা করে, যা রেসপনসিভ এবং আধুনিক ওয়েব ডিজাইনে গুরুত্বপূর্ণ।
Switches
Switches (সুইচ) ফর্ম উপাদান ব্যবহারকারীকে দুইটি অপশনের মধ্যে একটি নির্বাচন করতে দেয়, যেমন on/off, yes/no, বা true/false। এগুলি সাধারণত চেকবক্সের মতো হলেও, ভিজ্যুয়ালভাবে আরও আকর্ষণীয় এবং ইন্টারঅ্যাকটিভ।
Switches ব্যবহার করার উপায়
Foundation-এ switches তৈরি করতে switch ক্লাস ব্যবহার করা হয়। এটি সাধারণত একটি input type="checkbox" ব্যবহার করে এবং একটি সুন্দর toggle সুইচে রূপান্তরিত হয়।
উদাহরণ:
<label class="switch">
<input type="checkbox">
<span class="slider round"></span>
</label>
এখানে:
<input type="checkbox">: চেকবক্স যা সুইচ হিসেবে কাজ করবে।<span class="slider round">: সুইচের চেহারা এবং তার টগল (toggle) চিহ্ন।
কাস্টমাইজেশন:
আপনি সুইচের আকার, রঙ এবং অবস্থান কাস্টমাইজ করতে পারবেন CSS দিয়ে। উদাহরণস্বরূপ, আপনি সুইচের রঙ পরিবর্তন করতে পারেন:
.switch input:checked + .slider {
background-color: #4CAF50; /* সুইচ চেক করলে সবুজ রঙ হবে */
}
Range Sliders
Range Sliders ব্যবহারকারীদের একটি নির্দিষ্ট পরিসরের মধ্যে মান নির্বাচন করতে সাহায্য করে। এটি একটি স্লাইডার উপাদান, যার মাধ্যমে আপনি সহজে মানের সীমানা নির্বাচন করতে পারবেন।
Range Sliders ব্যবহার করার উপায়
Foundation-এ range slider তৈরি করতে range ক্লাস ব্যবহার করা হয়। এটি একটি <input type="range"> এলিমেন্টের সাথে কাজ করে।
উদাহরণ:
<label for="range">Adjust the value:</label>
<input type="range" id="range" name="range" min="0" max="100" step="1" value="50">
এখানে:
min="0": স্লাইডারের সর্বনিম্ন মান।max="100": স্লাইডারের সর্বোচ্চ মান।step="1": স্লাইডারের প্রতি স্টেপের মান।value="50": স্লাইডারের ডিফল্ট মান।
কাস্টমাইজেশন:
স্লাইডারের ডিজাইন কাস্টমাইজ করতে CSS ব্যবহার করা যেতে পারে। আপনি স্লাইডারের রঙ, আকার এবং অন্য বৈশিষ্ট্য পরিবর্তন করতে পারবেন।
input[type="range"] {
width: 100%; /* স্লাইডারের প্রস্থ পূর্ণ হবে */
height: 10px; /* স্লাইডারের উচ্চতা */
-webkit-appearance: none; /* ব্রাউজারের ডিফল্ট স্টাইল সরিয়ে ফেলা */
background: #ddd; /* স্লাইডারের ব্যাকগ্রাউন্ড রঙ */
}
input[type="range"]::-webkit-slider-runnable-track {
background: #4CAF50; /* স্লাইডারের ট্র্যাক রঙ */
}
input[type="range"]::-webkit-slider-thumb {
background: #2196F3; /* স্লাইডারের থাম্ব রঙ */
border-radius: 50%; /* থাম্বের গোলাকার রূপ */
width: 20px;
height: 20px;
}
এটি স্লাইডারের ডিজাইন এবং ব্যবহারকারীর অভিজ্ঞতা উন্নত করবে।
Advanced Form Elements এর সুবিধা
১. ইন্টারঅ্যাকটিভিটি বৃদ্ধি
Switches এবং Range Sliders ওয়েব ফর্মগুলিকে আরও ইন্টারঅ্যাকটিভ এবং ব্যবহারকারী-বান্ধব করে তোলে। এগুলি ব্যবহারকারীদের আরও সহজভাবে তথ্য ইনপুট করতে সাহায্য করে, এবং তাদের জন্য ফর্মের সাথে যোগাযোগ করতে আগ্রহ তৈরি করে।
২. স্মার্ট ইউজার ইন্টারফেস
ফাউন্ডেশন এর মাধ্যমে সুইচ এবং স্লাইডার কাস্টমাইজ করা যায়, যা ইউজার ইন্টারফেসকে স্মার্ট এবং আধুনিক করে তোলে। বিশেষ করে, রেসপনসিভ ডিজাইনের মাধ্যমে এটি বিভিন্ন ডিভাইসে সহজেই কাজ করে।
৩. অন্যান্য ফর্ম উপাদানের সাথে সমন্বয়
Switches এবং Range Sliders সহজেই অন্যান্য ফর্ম উপাদানের সাথে সমন্বিত হতে পারে, যেমন টেক্সট ইনপুট, ড্রপডাউন, চেকবক্স ইত্যাদি। এই সমন্বয়ের মাধ্যমে একটি সম্পূর্ণ এবং আকর্ষণীয় ফর্ম তৈরি করা সম্ভব।
৪. বিশেষ তথ্য ইনপুট
- Switches: সঠিকভাবে দুটি ভিন্ন অবস্থা (on/off, yes/no) নির্বাচন করতে সহায়তা করে।
- Range Sliders: নির্দিষ্ট পরিসরে মান নির্বাচন করতে সহায়তা করে, যেমন মূল্য নির্ধারণ, শতাংশ ইত্যাদি।
Switches এবং Range Sliders Foundation এর শক্তিশালী ফর্ম উপাদান যা ব্যবহারকারীর অভিজ্ঞতা উন্নত করে। এগুলি ব্যবহারকারী-বান্ধব এবং ইন্টারঅ্যাকটিভ ফর্ম তৈরি করতে সহায়তা করে। Foundation এর মাধ্যমে এই উপাদানগুলো সহজেই কাস্টমাইজ করা যায়, যা ওয়েবসাইটের ডিজাইনকে আরও আধুনিক এবং রেসপনসিভ করে তোলে।
Read more