ModelState এবং Validation Summary

Web Development - এএসপি ডট (ASP.Net) - ফর্ম হ্যান্ডলিং এবং ভ্যালিডেশন |

ASP.Net অ্যাপ্লিকেশনগুলিতে ModelState এবং Validation Summary গুরুত্বপূর্ণ ভূমিকা পালন করে ব্যবহারকারীর ইনপুট যাচাই করতে। এগুলি মূলত Validation প্রক্রিয়ার অংশ, যা নিশ্চিত করে যে ব্যবহারকারীর দেওয়া ডেটা সঠিক এবং নিরাপদ।


ModelState কী?

ModelState হলো ASP.Net MVC এবং ASP.Net Core MVC এর একটি বিল্ট-ইন ডেটা স্ট্রাকচার যা ফর্ম ডেটার বৈধতা যাচাই করার জন্য ব্যবহৃত হয়। এটি ফর্ম ডেটার উপর প্রযোজ্য সমস্ত ভ্যালিডেশন ফলাফল (যেমন: কোন ইনপুট ফিল্ড ভুলভাবে পূর্ণ করা হয়েছে বা কোনও বাধ্যতামূলক ক্ষেত্র ফাঁকা রাখা হয়েছে) ধারণ করে। এটি একটি ডিকশনারি যা মডেল প্রপার্টির নাম এবং সংশ্লিষ্ট ত্রুটির তালিকা সংরক্ষণ করে।

ModelState এর ব্যবহারের উদ্দেশ্য:

  • ব্যবহারকারীর ইনপুট যাচাই করা।
  • ত্রুটিগুলি অ্যাক্সেস এবং প্রক্রিয়া করা।
  • Validation প্রক্রিয়ায় সফল হলে ডেটা গ্রহণ করা।

ModelState Validation কিভাবে কাজ করে?

ModelState সাধারণত কন্ট্রোলারে POST অ্যাকশন মেথডে ব্যবহৃত হয়, যেখানে Model Binding এর মাধ্যমে ক্লায়েন্ট থেকে প্রাপ্ত ইনপুট ভ্যালু Model ক্লাসে মডেল বাইন্ড করা হয় এবং ModelState তে সেগুলোর বৈধতা যাচাই করা হয়।

উদাহরণ:

ধরা যাক, আপনার একটি Product মডেল রয়েছে যা ব্যবহারকারী থেকে ইনপুট নেবে।

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

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

এখন, POST অ্যাকশন মেথডে ModelState যাচাই করুন:

[HttpPost]
public IActionResult Create(Product product)
{
    if (ModelState.IsValid)
    {
        // ডেটা সেভ করুন
        return RedirectToAction("Index");
    }
    
    // ModelState ত্রুটি থাকলে পুনরায় ফর্মে ফেরত পাঠান
    return View(product);
}

এখানে, ModelState.IsValid চেক করবে যে মডেলটি বৈধ কিনা। যদি না হয়, তাহলে সেই ত্রুটিগুলি ব্যবহারকারীকে দেখানো হবে।


Validation Summary ব্যবহার

Validation Summary হলো একটি View Helper যা সমস্ত ModelState ত্রুটির তালিকা একটি উপস্থাপনযোগ্য ফরম্যাটে দেখায়। এটি সাধারণত Razor Views এ ব্যবহৃত হয় যাতে ব্যবহারকারীকে সমস্ত ফর্ম ত্রুটি একত্রে দেখানো যায়।

উদাহরণ:

@model Product

<h2>Create Product</h2>

<form method="post">
    @if (!ViewData.ModelState.IsValid)
    {
        <div class="alert alert-danger">
            @Html.ValidationSummary(true)
        </div>
    }

    <div>
        <label>Product Name</label>
        <input type="text" name="Name" />
        @Html.ValidationMessageFor(m => m.Name)
    </div>
    
    <div>
        <label>Price</label>
        <input type="number" name="Price" />
        @Html.ValidationMessageFor(m => m.Price)
    </div>
    
    <button type="submit">Create</button>
</form>

@Html.ValidationSummary(true) ব্যাখ্যা:

  • এই ট্যাগটি সমস্ত ত্রুটির সারাংশ প্রদর্শন করবে।
  • true প্যারামিটার ব্যবহার করলে শুধুমাত্র মোট ত্রুটিগুলি (নির্দিষ্ট ফিল্ড ত্রুটিগুলির পাশাপাশি) শো করবে।

@Html.ValidationMessageFor(m => m.Name) ব্যাখ্যা:

  • নির্দিষ্ট Model প্রপার্টির জন্য ত্রুটি বার্তা প্রদর্শন করবে। এটি প্রতিটি ইনপুট ফিল্ডের জন্য ModelState থেকে ত্রুটি দেখানোর জন্য ব্যবহৃত হয়।

ModelState এর জন্য সাধারণ Validation Attributes

ASP.Net MVC বা ASP.Net Core MVC এর সাথে সাধারণভাবে ব্যবহৃত কিছু Validation Attributes:

  • [Required]: ফিল্ডটি খালি থাকতে পারে না।
  • [StringLength]: ইনপুটের দৈর্ঘ্য সীমাবদ্ধ করে।
  • [Range]: মানের পরিসীমা নির্ধারণ করে।
  • [EmailAddress]: একটি বৈধ ইমেইল ঠিকানা যাচাই করে।
  • [RegularExpression]: একটি নির্দিষ্ট প্যাটার্ন বা রেগুলার এক্সপ্রেশন অনুসারে ইনপুট যাচাই করে।
  • [Compare]: দুটি ফিল্ডের মান তুলনা করে (যেমন, পাসওয়ার্ড এবং কনফার্ম পাসওয়ার্ড)।

সারাংশ

ModelState এবং Validation Summary ব্যবহার করার মাধ্যমে ASP.Net অ্যাপ্লিকেশনগুলোতে ব্যবহারকারী ইনপুট যাচাই করা সহজ হয়। এটি সঠিক এবং নিরাপদ ডেটা নিশ্চিত করতে সাহায্য করে এবং ত্রুটিগুলি ব্যবহারকারীকে স্পষ্টভাবে দেখানোর সুযোগ দেয়।

Content added By
Promotion