🎛️ ASP.NET UI Controls & Layout Management
Estimated reading: 5 minutes 32 views

✅ ASP.NET – Validators – Beginner’s Guide to Validating User Input in Web Forms

🧲 Introduction – What Are ASP.NET Validators?

ASP.NET Validators are server-side controls that ensure the data entered by users is valid, complete, and matches specific rules before it’s processed. They are essential for protecting your application from bad input, empty fields, wrong formats, and invalid data types.

Instead of writing manual validation logic, ASP.NET Web Forms provides ready-made validation controls like:

  • RequiredFieldValidator
  • RangeValidator
  • RegularExpressionValidator
  • CompareValidator
  • CustomValidator
  • ValidationSummary

🎯 In this guide, you’ll learn:

  • How to use each ASP.NET validation control
  • How to attach them to inputs like TextBox or DropDownList
  • How validation works automatically on postback
  • Complete code with step-by-step output and beginner explanations

📂 ASP.NET Web Forms File Structure

📁 File Name📘 Description
ValidatorsDemo.aspxMarkup file with input fields and validators
ValidatorsDemo.aspx.csOptional code-behind file for custom logic (if needed)

📄 Step 1: Markup File – ValidatorsDemo.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ValidatorsDemo.aspx.cs" Inherits="ValidatorsDemo.ValidatorsDemo" %>

<html>
<body>
  <form id="form1" runat="server">

    <h3>✅ ASP.NET Validators Demo</h3>

    <!-- Name (Required) -->
    <asp:Label ID="lblName" runat="server" Text="Enter Name:" /><br />
    <asp:TextBox ID="txtName" runat="server" /><br />
    <asp:RequiredFieldValidator ID="rfvName" runat="server"
        ControlToValidate="txtName"
        ErrorMessage="Name is required"
        ForeColor="Red" Display="Dynamic" /><br /><br />

    <!-- Age (Range 18-60) -->
    <asp:Label ID="lblAge" runat="server" Text="Enter Age:" /><br />
    <asp:TextBox ID="txtAge" runat="server" /><br />
    <asp:RangeValidator ID="rvAge" runat="server"
        ControlToValidate="txtAge"
        MinimumValue="18" MaximumValue="60"
        Type="Integer"
        ErrorMessage="Age must be between 18 and 60"
        ForeColor="Red" Display="Dynamic" /><br /><br />

    <!-- Email (Regex check) -->
    <asp:Label ID="lblEmail" runat="server" Text="Enter Email:" /><br />
    <asp:TextBox ID="txtEmail" runat="server" /><br />
    <asp:RegularExpressionValidator ID="revEmail" runat="server"
        ControlToValidate="txtEmail"
        ErrorMessage="Invalid email format"
        ValidationExpression="\w+@\w+\.\w+"
        ForeColor="Red" Display="Dynamic" /><br /><br />

    <!-- Password and Confirm Password -->
    <asp:Label ID="lblPassword" runat="server" Text="Password:" /><br />
    <asp:TextBox ID="txtPassword" runat="server" TextMode="Password" /><br /><br />

    <asp:Label ID="lblConfirm" runat="server" Text="Confirm Password:" /><br />
    <asp:TextBox ID="txtConfirm" runat="server" TextMode="Password" /><br />
    <asp:CompareValidator ID="cvPassword" runat="server"
        ControlToCompare="txtPassword"
        ControlToValidate="txtConfirm"
        ErrorMessage="Passwords do not match"
        ForeColor="Red" Display="Dynamic" /><br /><br />

    <!-- Submit -->
    <asp:Button ID="btnSubmit" runat="server" Text="Submit" /><br /><br />

    <!-- Summary of Errors -->
    <asp:ValidationSummary ID="valSummary" runat="server"
        HeaderText="Please fix the following:"
        ForeColor="DarkRed" />

  </form>
</body>
</html>

🔍 Explanation of Each Validator

ValidatorPurpose
RequiredFieldValidatorEnsures a field is not left empty
RangeValidatorChecks if a value falls within a defined numeric or date range
RegularExpressionValidatorValidates format (email, phone, etc.) using regex
CompareValidatorCompares two values (e.g., password match)
ValidationSummaryDisplays all errors in a single place

⚙️ Step 2: Code-Behind File – ValidatorsDemo.aspx.cs

No C# code is required unless you want to add custom validation logic. You can, however, add a confirmation message like this:

protected void Page_Load(object sender, EventArgs e)
{
    if (IsPostBack && Page.IsValid)
    {
        Response.Write("<b>Form submitted successfully!</b>");
    }
}

🔍 C# Explanation

Code💡 What It Does
IsPostBackChecks if the form was submitted
Page.IsValidReturns true only if all validators pass
Response.Write(...)Shows a success message without redirecting

🖥️ Output Preview in Browser

▶️ When Form is Empty and Submitted:

❌ Name is required  
❌ Age must be between 18 and 60  
❌ Invalid email format  
❌ Passwords do not match  

▶️ When Correct Values Entered:

✔️ Form submitted successfully!

📌 Summary – Recap & Takeaways

ASP.NET Validator controls allow you to validate user inputs with no extra logic in your backend.

🔍 Key Learnings:

  • Use RequiredFieldValidator to prevent blank fields
  • Use RangeValidator to set valid age or numeric ranges
  • Use RegularExpressionValidator for email or pattern-based validation
  • Use CompareValidator for password confirmation
  • ValidationSummary shows a list of all errors

✅ These validators run automatically on the server and are also compatible with client-side validation in modern browsers.


❓ Frequently Asked Questions (FAQs)


Do validators run on the client or server?
✅ Both. ASP.NET generates JavaScript for client-side validation but also performs server-side validation for security.


Can I customize error messages?
✅ Yes. Use the ErrorMessage property in each validator to write user-friendly messages.


What if I want to validate based on a dropdown or checkbox?
✅ You can use RequiredFieldValidator with InitialValue or create a CustomValidator for more advanced logic.


Can I disable a specific validator programmatically?
✅ Yes:

rfvName.Enabled = false;

Share Now :

Leave a Reply

Your email address will not be published. Required fields are marked *

Share

✅ ASP.NET – Validators

Or Copy Link

CONTENTS
Scroll to Top