Web Development Built-in Validation Attributes ব্যবহার করা গাইড ও নোট

215

MVC ফ্রেমওয়ার্ক ডেভেলপমেন্টে Validation Attributes গুরুত্বপূর্ণ ভূমিকা পালন করে, কারণ এগুলো ব্যবহারকারীর ইনপুট ডেটার সঠিকতা এবং নিরাপত্তা নিশ্চিত করে। Built-in Validation Attributes ব্যবহার করে খুব সহজেই মডেল ডেটার উপর বিভিন্ন ধরনের যাচাই (validation) করা যায়, যা ডেভেলপমেন্ট প্রক্রিয়াকে দ্রুত এবং কার্যকরী করে তোলে।

এই টিউটোরিয়ালে, আমরা এমভিসি ফ্রেমওয়ার্কের বিল্ট-ইন ভ্যালিডেশন অ্যাট্রিবিউটগুলি দেখব এবং কিভাবে এগুলো ব্যবহার করতে হয় তা শিখব।

Built-in Validation Attributes


এমভিসি ফ্রেমওয়ার্কের বিল্ট-ইন ভ্যালিডেশন অ্যাট্রিবিউটগুলোর মধ্যে কিছু গুরুত্বপূর্ণ অ্যাট্রিবিউট হল:

  1. [Required]: একটি ফিল্ডের জন্য মান থাকা বাধ্যতামূলক।
  2. [StringLength]: একটি স্ট্রিং ফিল্ডের দৈর্ঘ্য নির্দিষ্ট সীমার মধ্যে থাকতে হবে।
  3. [Range]: একটি নম্বর ফিল্ডের জন্য একটি নির্দিষ্ট রেঞ্জের মধ্যে মান থাকতে হবে।
  4. [EmailAddress]: একটি ইমেইল ফিল্ডের জন্য বৈধ ইমেইল ঠিকানা প্রদান করতে হবে।
  5. [RegularExpression]: একটি কাস্টম প্যাটার্নের মাধ্যমে ফিল্ডের মান যাচাই।
  6. [Compare]: দুটি ফিল্ডের মান তুলনা করতে ব্যবহৃত হয় (যেমন পাসওয়ার্ড ও কনফার্ম পাসওয়ার্ড)।
  7. [Range]: নম্বরের জন্য একটি সীমা নির্ধারণ করতে ব্যবহৃত হয়।
  8. [CreditCard]: ক্রেডিট কার্ড নম্বরের জন্য একটি বৈধ যাচাই।

Validation Attributes ব্যবহার করার উদাহরণ


১. [Required] অ্যাট্রিবিউট

এটি ব্যবহারকারীর কাছ থেকে একটি ফিল্ডে ইনপুট পাওয়ার জন্য বাধ্যতামূলক করে তোলে।

public class User
{
    [Required(ErrorMessage = "Name is required")]
    public string Name { get; set; }

    [Required(ErrorMessage = "Email is required")]
    [EmailAddress(ErrorMessage = "Invalid Email Address")]
    public string Email { get; set; }
}

এখানে, Name এবং Email ফিল্ডে ইনপুট না দেওয়া হলে ত্রুটি বার্তা দেখানো হবে।

২. [StringLength] অ্যাট্রিবিউট

এটি একটি স্ট্রিং ফিল্ডের জন্য সর্বোচ্চ এবং সর্বনিম্ন দৈর্ঘ্য নির্ধারণ করে।

public class User
{
    [StringLength(50, MinimumLength = 3, ErrorMessage = "Name must be between 3 and 50 characters")]
    public string Name { get; set; }
}

এখানে, Name ফিল্ডের দৈর্ঘ্য ৩ থেকে ৫০ ক্যারেক্টারের মধ্যে থাকতে হবে।

৩. [Range] অ্যাট্রিবিউট

এটি একটি নম্বরের জন্য একটি সীমা নির্ধারণ করে।

public class Product
{
    [Range(1, 1000, ErrorMessage = "Price must be between 1 and 1000")]
    public decimal Price { get; set; }
}

এখানে, Price ফিল্ডের মান ১ থেকে ১০০০ এর মধ্যে থাকতে হবে।

৪. [EmailAddress] অ্যাট্রিবিউট

এটি একটি বৈধ ইমেইল ঠিকানা যাচাই করে।

public class User
{
    [EmailAddress(ErrorMessage = "Please enter a valid email address")]
    public string Email { get; set; }
}

এখানে, Email ফিল্ডটি একটি বৈধ ইমেইল ঠিকানা হতে হবে।

৫. [Compare] অ্যাট্রিবিউট

এটি দুটি ফিল্ডের মান তুলনা করে। সাধারণত পাসওয়ার্ড এবং কনফার্ম পাসওয়ার্ড যাচাই করার জন্য ব্যবহৃত হয়।

public class User
{
    public string Password { get; set; }
    
    [Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
    public string ConfirmPassword { get; set; }
}

এখানে, Password এবং ConfirmPassword এর মান মিলে যেতে হবে।

৬. [RegularExpression] অ্যাট্রিবিউট

এটি একটি কাস্টম প্যাটার্ন যাচাই করতে ব্যবহৃত হয়।

public class User
{
    [RegularExpression(@"^[a-zA-Z]+$", ErrorMessage = "Name must contain only letters.")]
    public string Name { get; set; }
}

এখানে, Name ফিল্ডে কেবল অক্ষরই থাকতে হবে, সংখ্যা বা বিশেষ চিহ্ন যাবে না।


Validation কিভাবে কার্যকরী করা হয়


এমভিসি ফ্রেমওয়ার্কে Validation সাধারণত মডেল ভ্যালিডেশন হিসেবে কাজ করে এবং Controller তে ফর্ম সাবমিশনের সময় এটি কার্যকর হয়। যখন একটি ফর্ম সাবমিট করা হয়, তখন ModelState.IsValid পদ্ধতির মাধ্যমে ইনপুট ভ্যালিডেশন চেক করা হয়।

উদাহরণ: Controller এ Validation চেক

public class UserController : Controller
{
    [HttpPost]
    public ActionResult Create(User user)
    {
        if (ModelState.IsValid)
        {
            // ভ্যালিডেশন পাস হলে ডেটা সেভ করুন
            // save to database
            return RedirectToAction("Index");
        }
        else
        {
            // ভ্যালিডেশন না হলে আবার ফর্মে ফিরে আসুন
            return View(user);
        }
    }
}

এখানে, ModelState.IsValid যাচাই করে যে সমস্ত ফিল্ড ভ্যালিডেশন পাস করেছে কিনা। যদি পাস না করে, তাহলে ব্যবহারকারীকে আবার ফর্মে ফিরে নিয়ে আসা হয়।


সার্বিকভাবে


Built-in Validation Attributes এমভিসি ফ্রেমওয়ার্কে ডেটা যাচাইয়ের একটি কার্যকরী পদ্ধতি প্রদান করে। এটি সহজে ইনপুট ডেটা যাচাই করতে সহায়তা করে, ফলে সফটওয়্যারটি নিরাপদ এবং স্থিতিশীল হয়ে ওঠে। এমভিসি ফ্রেমওয়ার্কের বিল্ট-ইন ভ্যালিডেশন অ্যাট্রিবিউটগুলি দ্রুত এবং কার্যকরভাবে ইউজারের ইনপুট যাচাই করার একটি সহজ উপায় প্রদান করে, যা অ্যাপ্লিকেশন ডেভেলপমেন্টে গুরুত্বপূর্ণ ভূমিকা পালন করে।

Content added By
Promotion

Are you sure to start over?

Loading...