ASP.NET Web Forms এ CustomValidator একটি অত্যন্ত শক্তিশালী কন্ট্রোল, যা ডেভেলপারদের কাস্টম ভ্যালিডেশন কার্য সম্পাদন করতে সক্ষম করে। সাধারণত, ASP.NET এ কিছু পূর্বনির্ধারিত ভ্যালিডেশন কন্ট্রোল যেমন RequiredFieldValidator, RangeValidator ইত্যাদি ব্যবহৃত হয়, তবে CustomValidator কন্ট্রোল ব্যবহারের মাধ্যমে ডেভেলপাররা তাদের প্রয়োজন অনুসারে ভ্যালিডেশন কাস্টমাইজ করতে পারেন।
CustomValidator কন্ট্রোল ইউজারের ইনপুটের উপর নির্দিষ্ট শর্ত বা শর্তাবলী প্রয়োগ করতে ব্যবহৃত হয়। এটি সাধারণত client-side এবং server-side উভয় ভ্যালিডেশন এর জন্য ব্যবহার করা যেতে পারে। ডেভেলপাররা Validate() মেথডের মাধ্যমে কাস্টম ভ্যালিডেশন তৈরি করতে পারেন, যা ব্যবহারকারীর ইনপুট যাচাই করে।
ধরা যাক, আমরা একটি ফর্ম তৈরি করছি যেখানে ব্যবহারকারী একটি ইমেইল ঠিকানা প্রদান করবে। আমাদের কাস্টম ভ্যালিডেশন প্রয়োগ করতে হবে, যা নিশ্চিত করবে যে ইমেইলটি নির্দিষ্ট ডোমেইন (যেমন, example.com
) এ আছে কিনা।
<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" />
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.");
}
}
@example.com
এ শেষ হয়, তবে এটি ভ্যালিড হবে এবং args.IsValid = true হবে।আপনি যদি 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 কন্ট্রোল ASP.NET Web Forms এ অত্যন্ত কার্যকরী একটি টুল যা ডেভেলপারদের কাস্টম ভ্যালিডেশন ফিচার তৈরির সুযোগ দেয়। এটি server-side এবং client-side উভয় ভ্যালিডেশন পদ্ধতি সমর্থন করে এবং ওয়েব অ্যাপ্লিকেশনের ইনপুট যাচাইয়ের প্রক্রিয়াকে আরও নমনীয় এবং কাস্টমাইজযোগ্য করে তোলে।
common.read_more