<%@ Page Language="VB" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Sign In Form Validation Sample</title>
</head>
<body>
<div>
<h3>
<font face="Verdana">Sign In Form Validation Sample</font></h3>
<form action="validationform_vb.aspx" method="post" runat="server">
<hr width="600" size="1" noshade="noshade" />
<center>
<asp:ValidationSummary ID="valSum" runat="server" HeaderText="You must enter a valid value in the following fields:"
DisplayMode="SingleParagraph" Font-Names="verdana" Font-Size="12" />
<br />
<br />
<!-- sign-in -->
<table border="0" width="600">
<tr>
<td colspan="3">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<font face="geneva,arial" size="-1"><b>Sign-In Information</b></font>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="right">
<font face="Arial" size="2">Email Address:</font>
</td>
<td>
<asp:TextBox ID="email" Width="200px" MaxLength="60" runat="server" />
</td>
<td>
<asp:RequiredFieldValidator ID="emailReqVal" ControlToValidate="email" ErrorMessage="Email. "
Display="Dynamic" Font-Names="Verdana" Font-Size="12" runat="server">
*
</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="emailRegexVal" ControlToValidate="email" ErrorMessage="Email. "
Display="Static" ValidationExpression="^[\w-]+@[\w-]+\.(com|net|org|edu|mil)$"
Font-Names="Arial" Font-Size="11" runat="server">
Not a valid e-mail address. Must follow email@host.domain.
</asp:RegularExpressionValidator>
</td>
</tr>
<tr>
<td align="right">
<font face="Arial" size="2">Password:</font>
</td>
<td>
<asp:TextBox ID="passwd" TextMode="Password" MaxLength="20" runat="server" />
</td>
<td>
<asp:RequiredFieldValidator ID="passwdReqVal" ControlToValidate="passwd" ErrorMessage="Password. "
Display="Dynamic" Font-Names="Verdana" Font-Size="12" runat="server">
*
</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="passwdRegexBal" ControlToValidate="passwd" ErrorMessage="Password. "
ValidationExpression=".*[!@#$%^&*+;:].*" Display="Static" Font-Names="Arial" Font-Size="11"
Width="100%" runat="server">
Password must include one of these (!@#$%^&*+;:)
</asp:RegularExpressionValidator>
</td>
</tr>
<tr>
<td align="right">
<font face="Arial" size="2">Re-enter Password:</font>
</td>
<td>
<asp:TextBox ID="passwd2" TextMode="Password" MaxLength="20" runat="server" />
</td>
<td>
<asp:RequiredFieldValidator ID="passwd2ReqVal" ControlToValidate="passwd2" ErrorMessage="Re-enter Password. "
Display="Dynamic" Font-Names="Verdana" Font-Size="12" runat="server">
*
</asp:RequiredFieldValidator>
<asp:CompareValidator ID="CompareValidator1" ControlToValidate="passwd2" ControlToCompare="passwd"
ErrorMessage="Re-enter Password. " Display="Static" Font-Names="Arial" Font-Size="11"
runat="server">
Password fields don't match
</asp:CompareValidator>
</td>
</tr>
<tr>
<td colspan="3">
</td>
</tr>
<!-- personalization information -->
<tr>
<td colspan="3">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<font face="geneva,arial" size="-1"><b>Personal Information</b></font>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="right">
<font face="Arial" size="2">First Name:</font>
</td>
<td>
<asp:TextBox ID="fn" MaxLength="20" Width="200px" runat="server" />
</td>
<td>
</td>
</tr>
<tr>
<td align="right">
<font face="Arial" size="2">Last Name:</font>
</td>
<td>
<asp:TextBox ID="ln" MaxLength="40" Width="200px" runat="server" />
</td>
<td>
</td>
</tr>
<tr>
<td align="right">
<font face="Arial" size="2">Address:</font>
</td>
<td>
<asp:TextBox ID="address" Width="200px" runat="server" />
</td>
<td>
</td>
</tr>
<tr>
<td align="right">
<font face="Arial" size="2">State:</font>
</td>
<td>
<asp:TextBox ID="state" Width="30px" MaxLength="2" runat="server" /> <font
face="Arial" size="2">Zip Code:</font>
<asp:TextBox ID="zip" Width="60px" MaxLength="5" runat="server" />
</td>
<td>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" ControlToValidate="zip"
ErrorMessage="Zip Code. " ValidationExpression="^\d{5}$" Display="Static" Font-Names="Arial"
Font-Size="11" runat="server">
Zip code must be 5 numeric digits
</asp:RegularExpressionValidator>
</td>
</tr>
<tr>
<td align="right">
<font face="Arial" size="2">Phone:</font>
</td>
<td>
<asp:TextBox ID="phone" MaxLength="20" runat="server" />
</td>
<td>
<asp:RequiredFieldValidator ID="phoneReqVal" ControlToValidate="phone" ErrorMessage="Phone. "
Display="Dynamic" Font-Names="Verdana" Font-Size="12" runat="server">
*
</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="phoneRegexVal" ControlToValidate="phone" ErrorMessage="Phone. "
ValidationExpression="(^x\s*[0-9]{5}$)|(^(\([1-9][0-9]{2}\)\s)?[1-9][0-9]{2}-[0-9]{4}(\sx\s*[0-9]{5})?$)"
Display="Static" Font-Names="Arial" Font-Size="11" runat="server">
Must be in form: (XXX) XXX-XXXX
</asp:RegularExpressionValidator>
</td>
</tr>
<tr>
<td colspan="3">
</td>
</tr>
<!-- Credit Card Info -->
<tr>
<td colspan="3">
<font face="Arial" size="2"><b>Credit Card Information</b></font>
</td>
</tr>
<tr>
<td align="right">
<font face="Arial" size="2">Card Type:</font>
</td>
<td>
<asp:RadioButtonList ID="ccType" Font-Names="Arial" RepeatLayout="Flow" runat="server">
<asp:ListItem>MasterCard</asp:ListItem>
<asp:ListItem>Visa</asp:ListItem>
</asp:RadioButtonList>
</td>
<td>
<asp:RequiredFieldValidator ID="ccTypeReqVal" ControlToValidate="ccType" ErrorMessage="Card Type. "
Display="Static" InitialValue="" Font-Names="Verdana" Font-Size="12" runat="server">
*
</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td align="right">
<font face="Arial" size="2">Card Number:</font>
</td>
<td>
<asp:TextBox ID="ccNum" runat="server" />
</td>
<td>
<asp:RequiredFieldValidator ID="ccNumReqVal" ControlToValidate="ccNum" ErrorMessage="Card Number. "
Display="Dynamic" Font-Names="Verdana" Font-Size="12" runat="server">
*
</asp:RequiredFieldValidator>
<asp:CustomValidator ID="ccNumCustVal" ControlToValidate="ccNum" ErrorMessage="Card Number. "
ClientValidationFunction="ccClientValidate" Display="Static" Font-Names="Arial"
Font-Size="11" runat="server">
Not a valid credit card number. Must contain 16 digits.
</asp:CustomValidator>
</td>
</tr>
<tr>
<td align="right">
<font face="Arial" size="2">Expiration Date:</font>
</td>
<td>
<asp:DropDownList ID="expDate" runat="server">
<asp:ListItem></asp:ListItem>
<asp:ListItem>06/00</asp:ListItem>
<asp:ListItem>07/00</asp:ListItem>
<asp:ListItem>08/00</asp:ListItem>
<asp:ListItem>09/00</asp:ListItem>
<asp:ListItem>10/00</asp:ListItem>
<asp:ListItem>11/00</asp:ListItem>
<asp:ListItem>01/01</asp:ListItem>
<asp:ListItem>02/01</asp:ListItem>
<asp:ListItem>03/01</asp:ListItem>
<asp:ListItem>04/01</asp:ListItem>
<asp:ListItem>05/01</asp:ListItem>
<asp:ListItem>06/01</asp:ListItem>
<asp:ListItem>07/01</asp:ListItem>
<asp:ListItem>08/01</asp:ListItem>
<asp:ListItem>09/01</asp:ListItem>
<asp:ListItem>10/01</asp:ListItem>
<asp:ListItem>11/01</asp:ListItem>
<asp:ListItem>12/01</asp:ListItem>
</asp:DropDownList>
</td>
<td>
<asp:RequiredFieldValidator ID="expDateReqVal" ControlToValidate="expDate" ErrorMessage="Expiration Date. "
Display="Static" InitialValue="" Font-Names="Verdana" Font-Size="12" runat="server">
*
</asp:RequiredFieldValidator>
</td>
</tr>
</table>
<br /><br />
<input runat="server" type="submit" value="Sign In"/>
<br /><br />
<hr width="600" size="1" noshade="noshade">
<script type="text/javascript">
function ccClientValidate(source, arguments)
{
var cc = arguments.Value;
var ccSansSpace;
var i, digits, total;
// SAMPLE ONLY. Not a real world actual credit card algo.
// Based on ANSI X4.13, the LUHN formula (also known as the modulus 10 -- or mod 10 -- algorithm )
// is used to generate and/or validate and verify the accuracy of some credit-card numbers.
// Get the number, parse out any non digits, should have 16 left
ccSansSpace = cc.replace(/\D/g, "");
if(ccSansSpace.length != 16) {
arguments.IsValid = false;
return; // invalid ccn
}
// Convert to array of digits
digits = new Array(16);
for(i=0; i<16; i++)
digits[i] = Number(ccSansSpace.charAt(i));
// Double & sum digits of every other number
for(i=0; i<16; i+=2) {
digits[i] *= 2;
if(digits[i] > 9) digits[i] -= 9;
}
// Sum the numbers
total = 0;
for(i=0; i<16; i++) total += digits[i];
// Results
if( total % 10 == 0 ) {
arguments.IsValid = true;
return; // valid ccn
}
else {
arguments.IsValid = false;
return; // invalid ccn
}
}
</script>
</center>
</form>
</div>
</body>
</html>
|