ASP.NET Tutorial/Validation/Introduction
Disabling Validation
Set False to CausesValidation property of Button, LinkButton, and ImageButton control
then clicking the button bypasses any validation in the page.
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void btnCancel_Click(Object sender, EventArgs e)
{
Response.Redirect("~/Default.aspx");
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Show Disable Validation</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label
id="lblFirstName"
Text="First Name:"
AssociatedControlID="txtFirstName"
Runat="server" />
<asp:TextBox
id="txtFirstName"
Runat="server" />
<asp:RequiredFieldValidator
id="reqFirstName"
ControlToValidate="txtFirstName"
Text="(Required)"
Runat="server" />
<asp:Button
id="btnSubmit"
Text="Submit"
Runat="server" />
<asp:Button
id="btnCancel"
Text="Cancel"
OnClick="btnCancel_Click"
CausesValidation="false"
Runat="server" />
</div>
</form>
</body>
</html>
ServerValidateEventArgs has two properties:
Value: the value of the form field being validated.
IsValid: whether validation fails or succeeds.
ValidateEmptyText: whether validation is performed without a value.
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void valComments_ServerValidate(Object source, ServerValidateEventArgs args)
{
if (args.Value.Length > 10)
args.IsValid = false;
else
args.IsValid = true;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<script type="text/javascript">
function valComments_ClientValidate(source, args)
{
if (args.Value.length > 10)
args.IsValid = false;
else
args.IsValid = true;
}
</script>
<title>Show CustomValidator with JavaScript</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label
id="lblComments"
Text="Comments:"
AssociatedControlID="txtComments"
Runat="server" />
<br />
<asp:TextBox
id="txtComments"
TextMode="MultiLine"
Columns="30"
Rows="5"
Runat="server" />
<asp:CustomValidator
id="valComments"
ControlToValidate="txtComments"
Text="(Comments must be less than 10 characters)"
OnServerValidate="valComments_ServerValidate"
ClientValidationFunction="valComments_ClientValidate"
Runat="server" />
<asp:Button
id="btnSubmit"
Text="Submit"
Runat="server" />
</div>
</form>
</body>
</html>
Six validation controls are included in the ASP.NET 3.5 Framework:
RequiredFieldValidator: require a user to enter a value in a form field.
RangeValidator: check whether a value falls between a certain minimum and maximum value.
CompareValidator: compare a value against another value or perform a data type check.
RegularExpressionValidator: compare a value against a regular expression.
CustomValidator: perform custom validation.
ValidationSummary: display a summary of all validation errors in a page.
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void btnSubmit_Click(Object sender, EventArgs e)
{
if (Page.IsValid)
{
lblResult.Text = @"<br />Product: " + txtProductName.Text
+ "<br />Price: " + txtProductPrice.Text
+ "<br />Quantity: " + txtProductQuantity.Text;
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Order Form</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<fieldset>
<legend>Order Form</legend>
<asp:Label
id="lblProductName"
Text="Product Name:"
AssociatedControlID="txtProductName"
Runat="server" />
<br />
<asp:TextBox
id="txtProductName"
Runat="server" />
<asp:RequiredFieldValidator
id="reqProductName"
ControlToValidate="txtProductName"
Text="(Required)"
Runat="server" />
<br /><br />
<asp:Label
id="lblProductPrice"
Text="Product Price:"
AssociatedControlID="txtProductPrice"
Runat="server" />
<br />
<asp:TextBox
id="txtProductPrice"
Columns="5"
Runat="server" />
<asp:RequiredFieldValidator
id="reqProductPrice"
ControlToValidate="txtProductPrice"
Text="(Required)"
Display="Dynamic"
Runat="server" />
<asp:CompareValidator
id="cmpProductPrice"
ControlToValidate="txtProductPrice"
Text="(Invalid Price)"
Operator="DataTypeCheck"
Type="Currency"
Runat="server" />
<asp:Label
id="lblProductQuantity"
Text="Product Quantity:"
AssociatedControlID="txtProductQuantity"
Runat="server" />
<br />
<asp:TextBox
id="txtProductQuantity"
Columns="5"
Runat="server" />
<asp:RequiredFieldValidator
id="reqProductQuantity"
ControlToValidate="txtProductQuantity"
Text="(Required)"
Display="Dynamic"
Runat="server" />
<asp:CompareValidator
id="CompareValidator1"
ControlToValidate="txtProductQuantity"
Text="(Invalid Quantity)"
Operator="DataTypeCheck"
Type="Integer"
Runat="server" />
<asp:Button
id="btnSubmit"
Text="Submit Product Order"
OnClick="btnSubmit_Click"
Runat="server" />
</fieldset>
<asp:Label
id="lblResult"
Runat="server" />
</div>
</form>
</body>
</html>