Answer:
Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="PaymentValidationExample.Default" %>
<!DOCTYPE html>
<html lang="en">
<head runat="server">
<meta charset="utf-8" />
<title>Payment Validation</title>
</head>
<body>
<form id="form1" runat="server">
<h2>Payment Validation</h2>
<label for="username">User Name:</label>
<asp:TextBox ID="txtUserName" runat="server"></asp:TextBox><br /><br />
<label for="paymentMode">Mode of Payment:</label>
<asp:DropDownList ID="ddlPaymentMode" runat="server">
<asp:ListItem Text="Select Mode" Value="0"></asp:ListItem>
<asp:ListItem Text="Credit Card" Value="1"></asp:ListItem>
<asp:ListItem Text="Debit Card" Value="2"></asp:ListItem>
<asp:ListItem Text="PayPal" Value="3"></asp:ListItem>
</asp:DropDownList><br /><br />
<label for="creditCard">Credit Card Number:</label>
<asp:TextBox ID="txtCreditCard" runat="server"></asp:TextBox><br /><br />
<asp:Button ID="btnValidate" runat="server" Text="Validate" OnClick="btnValidate_Click" /><br /><br />
<asp:Label ID="lblMessage" runat="server" ForeColor="Red"></asp:Label>
</form>
</body>
</html>
Default.aspx.cs (Code Behind)
using System;
using System.Text.RegularExpressions;
namespace PaymentValidationExample
{
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// No initialization required for this case.
}
protected void btnValidate_Click(object sender, EventArgs e)
{
string userName = txtUserName.Text.Trim();
string paymentMode = ddlPaymentMode.SelectedValue;
string creditCard = txtCreditCard.Text.Trim();
// Validate User Name
if (string.IsNullOrEmpty(userName))
{
lblMessage.Text = "User Name is required.";
return;
}
// Validate Mode of Payment
if (paymentMode == "0")
{
lblMessage.Text = "Please select a valid mode of payment.";
return;
}
// Validate Credit Card (only for credit card and debit card modes)
if ((paymentMode == "1" || paymentMode == "2") && !IsValidCreditCard(creditCard))
{
lblMessage.Text = "Please enter a valid credit card number.";
return;
}
// If all validations pass
lblMessage.ForeColor = System.Drawing.Color.Green;
lblMessage.Text = "Validation Successful!";
}
// Basic validation for credit card (must be numeric and 16 digits long)
private bool IsValidCreditCard(string creditCard)
{
Regex regex = new Regex(@"^\d{16}$"); // Match exactly 16 digits
return regex.IsMatch(creditCard);
}
}
}