CustomValidator তৈরি এবং ব্যবহার

Microsoft Technologies - এএসপি ডট নেট ওয়েব (ASP.Net WP) ভ্যালিডেশন এবং এন্ট্রি কন্ট্রোল (Validation and Input Controls) |
216
216

ASP.NET Web Forms এ CustomValidator একটি অত্যন্ত শক্তিশালী কন্ট্রোল, যা ডেভেলপারদের কাস্টম ভ্যালিডেশন কার্য সম্পাদন করতে সক্ষম করে। সাধারণত, ASP.NET এ কিছু পূর্বনির্ধারিত ভ্যালিডেশন কন্ট্রোল যেমন RequiredFieldValidator, RangeValidator ইত্যাদি ব্যবহৃত হয়, তবে CustomValidator কন্ট্রোল ব্যবহারের মাধ্যমে ডেভেলপাররা তাদের প্রয়োজন অনুসারে ভ্যালিডেশন কাস্টমাইজ করতে পারেন।


CustomValidator কন্ট্রোলের কাজ

CustomValidator কন্ট্রোল ইউজারের ইনপুটের উপর নির্দিষ্ট শর্ত বা শর্তাবলী প্রয়োগ করতে ব্যবহৃত হয়। এটি সাধারণত client-side এবং server-side উভয় ভ্যালিডেশন এর জন্য ব্যবহার করা যেতে পারে। ডেভেলপাররা Validate() মেথডের মাধ্যমে কাস্টম ভ্যালিডেশন তৈরি করতে পারেন, যা ব্যবহারকারীর ইনপুট যাচাই করে।


CustomValidator তৈরি করার পদক্ষেপ

  1. CustomValidator কন্ট্রোল যুক্ত করা: ASP.NET ওয়েব পেজে CustomValidator কন্ট্রোল যুক্ত করতে হবে এবং এর মধ্যে ControlToValidate প্রপার্টি ব্যবহার করে কোন কন্ট্রোলের ইনপুট যাচাই করা হবে তা নির্ধারণ করতে হবে।
  2. Client-side Validation:
    Client-side ভ্যালিডেশন JavaScript দিয়ে করা যায়। CustomValidator কন্ট্রোলের ClientValidationFunction প্রপার্টি সেট করে JavaScript ফাংশন ব্যবহার করা হয়।
  3. Server-side Validation:
    Server-side ভ্যালিডেশন OnServerValidate ইভেন্ট হ্যান্ডলার ব্যবহার করে করা হয়, যা সার্ভারে ইনপুট যাচাই করে।

উদাহরণ: CustomValidator তৈরি এবং ব্যবহার

ধরা যাক, আমরা একটি ফর্ম তৈরি করছি যেখানে ব্যবহারকারী একটি ইমেইল ঠিকানা প্রদান করবে। আমাদের কাস্টম ভ্যালিডেশন প্রয়োগ করতে হবে, যা নিশ্চিত করবে যে ইমেইলটি নির্দিষ্ট ডোমেইন (যেমন, example.com) এ আছে কিনা।

1. ASPX ফাইল: CustomValidator কন্ট্রোল যুক্ত করা

<asp:TextBox ID="txtEmail" runat="server" placeholder="Enter your email"></asp:TextBox>
<asp:CustomValidator ID="cvEmail" runat="server" 
    ControlToValidate="txtEmail" 
    OnServerValidate="ValidateEmail" 
    ErrorMessage="Email must be from example.com domain." 
    ForeColor="Red" />
<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" />
  • এখানে, txtEmail কন্ট্রোলের ইনপুট যাচাই করতে cvEmail কাস্টম ভ্যালিডেটর ব্যবহার করা হচ্ছে।
  • ControlToValidate প্রপার্টি দ্বারা এটি নির্দেশ করা হচ্ছে যে, txtEmail কন্ট্রোলের ইনপুট যাচাই করতে হবে।
  • OnServerValidate ইভেন্টে ValidateEmail মেথড কল করা হবে।

2. Code-behind ফাইল (C#): Server-side Validation

protected void ValidateEmail(object source, ServerValidateEventArgs args)
{
    // ইমেইল ঠিকানা প্রাপ্ত করা
    string email = args.Value;
    
    // ইমেইল ডোমেইন যাচাই করা
    if (email.EndsWith("@example.com"))
    {
        args.IsValid = true; // ভ্যালিড হলে IsValid true হবে
    }
    else
    {
        args.IsValid = false; // ভ্যালিড না হলে IsValid false হবে
    }
}

protected void btnSubmit_Click(object sender, EventArgs e)
{
    if (Page.IsValid)
    {
        // ফর্ম সাবমিট বা ডেটা প্রসেস করার লজিক
        Response.Write("Email is valid.");
    }
    else
    {
        // যদি কোনো ভ্যালিডেশন ফেইল করে, তাতে কোনো ডেটা প্রসেস হবে না
        Response.Write("Email validation failed.");
    }
}
  • ValidateEmail মেথডটি ServerValidateEventArgs এর মাধ্যমে ইমেইল ইনপুট যাচাই করে।
  • যদি ইমেইলটি @example.com এ শেষ হয়, তবে এটি ভ্যালিড হবে এবং args.IsValid = true হবে।
  • যদি না হয়, তবে args.IsValid = false হবে এবং ত্রুটি বার্তা প্রদর্শিত হবে।

3. Client-side Validation (Optional)

আপনি যদি client-side ভ্যালিডেশনও যুক্ত করতে চান, তাহলে ClientValidationFunction প্রপার্টি ব্যবহার করতে পারেন। যেমন:

<asp:CustomValidator ID="cvEmail" runat="server" 
    ControlToValidate="txtEmail" 
    OnServerValidate="ValidateEmail" 
    ClientValidationFunction="ValidateEmailClient" 
    ErrorMessage="Email must be from example.com domain." 
    ForeColor="Red" />

<script type="text/javascript">
    function ValidateEmailClient(source, arguments) {
        var email = arguments.Value;
        if (email.indexOf("@example.com") == -1) {
            arguments.IsValid = false;  // Invalid email
        } else {
            arguments.IsValid = true;   // Valid email
        }
    }
</script>

এখানে, ValidateEmailClient ফাংশনটি ক্লায়েন্ট সাইডে চালানো হবে, যা ইমেইলের ডোমেইন যাচাই করবে এবং ফর্ম সাবমিটের আগে ফলাফল প্রদান করবে।


CustomValidator এর সুবিধা

  • কাস্টম ভ্যালিডেশন: CustomValidator কাস্টম ভ্যালিডেশন তৈরি করতে ব্যবহৃত হয়, যা ASP.NET এর পূর্বনির্ধারিত ভ্যালিডেশন কন্ট্রোলের বাইরে গিয়ে নিজস্ব শর্তে যাচাই করতে সক্ষম।
  • Server-side এবং Client-side Validation: এটি উভয় সাইডে ভ্যালিডেশন করতে সাহায্য করে, যার ফলে কার্যকারিতা এবং ইউজার এক্সপেরিয়েন্স উন্নত হয়।
  • ডায়নামিক ভ্যালিডেশন: বিভিন্ন কাস্টম শর্তের ভিত্তিতে ইনপুট যাচাই করা যায়, যেমন সংখ্যা, ইমেইল, ফোন নম্বর, বা কাস্টম লজিক।

উপসংহার

CustomValidator কন্ট্রোল ASP.NET Web Forms এ অত্যন্ত কার্যকরী একটি টুল যা ডেভেলপারদের কাস্টম ভ্যালিডেশন ফিচার তৈরির সুযোগ দেয়। এটি server-side এবং client-side উভয় ভ্যালিডেশন পদ্ধতি সমর্থন করে এবং ওয়েব অ্যাপ্লিকেশনের ইনপুট যাচাইয়ের প্রক্রিয়াকে আরও নমনীয় এবং কাস্টমাইজযোগ্য করে তোলে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion