Jonathan,
Here's my code
Javascript:
function ValidateGroup(){
$object("_PageRequestManager")._doPostBack( "", "" );
}
StepNavigationTemplate:
<StepNavigationTemplate>
<asp:Button ID="StepPreviousButton" OnClientClick="return ValidateGroup();" runat="server" CausesValidation="True" ValidationGroup="WizardValidationGroup" CommandName="MovePrevious" Text="Previous" CssClass="StepNav" />
<asp:Button ID="StepNextButton" OnClientClick="return ValidateGroup();" runat="server" CausesValidation="True" ValidationGroup="WizardValidationGroup" CommandName="MoveNext" Text="Next" CssClass="StepNav" />
</StepNavigationTemplate>
ASP.NET:
<table cellpadding="0" cellspacing="0" border="0" style="width: 100%; margin-top: 10px;">
<tr>
<td class="subContentBox" style="width:80px; background-color: Transparent; text-align: right; vertical-align: middle;">First Name<sup>*</sup></td>
<td style="padding-left: 10px; background-color: Transparent; text-align: left; vertical-align: middle;">
<asp:TextBox runat="server" ID="FirstName" CssClass="TextControl" tabindex="1" CausesValidation="True" AutoPostBack="True" ValidationGroup="SSNStepValidationGroup" />
<asp:CustomValidator runat="server" ID="FirstNameCustomValidator"
ValidationGroup="WizardValidationGroup"
OnServerValidate="RequiredField"
ControlToValidate="FirstName"
ErrorMessage="*FirstName"
Display="Dynamic"
ValidateEmptyText="True" />
</td>
</tr>
<tr>
<td class="subContentBox" style="width:80px; background-color: Transparent; text-align: right; vertical-align: middle;">Middle Initial</td>
<td style="padding-left: 10px; background-color: Transparent; text-align: left; vertical-align: middle;">
<asp:TextBox runat="server" ID="MiddleName" CssClass="TextControl" Columns="2" maxLength="1" tabindex="2" />
</td>
</tr>
<tr>
<td class="subContentBox" style="width:80px; background-color: Transparent; text-align: right; vertical-align: middle;">Last Name<sup>*</sup></td>
<td style="padding-left: 10px; background-color: Transparent; text-align: left; vertical-align: middle;">
<asp:TextBox runat="server" ID="LastName" CssClass="TextControl" tabindex="3" CausesValidation="True" AutoPostBack="True" ValidationGroup="SSNStepValidationGroup" />
<asp:CustomValidator runat="server" ID="LastNameCustomValidator"
ValidationGroup="WizardValidationGroup"
OnServerValidate="RequiredField"
ControlToValidate="LastName"
ErrorMessage="*Last Name"
Display="Dynamic"
ValidateEmptyText="True" />
</td>
</tr>
<tr>
<td class="subContentBox" style="width:80px; background-color: Transparent; text-align: right; vertical-align: top;">SSN<sup>*</sup></td>
<td style="padding-left: 10px; background-color: Transparent; text-align: left; vertical-align: middle;">
<asp:TextBox runat="server" ID="SSNTextBox" CssClass="TextControl" Columns="15" tabindex="4" CausesValidation="true" AutoPostBack="true" ValidationGroup="WizardValidationGroup" />
<ajaxToolkit:MaskedEditExtender ID="SSNMaskedEditExtender" runat="server"
TargetControlID="SSNTextBox"
Mask="999-99-9999"
MaskType="Number"
OnInvalidCssClass="TextControlInvalid"
OnFocusCssClass="TextControlFocus"
AutoComplete="False"
Enabled="True" />
<ajaxToolkit:MaskedEditValidator ID="SSNMaskedEditValidator" runat="server"
ValidationGroup="WizardValidationGroup"
ControlToValidate="SSNTextBox"
ControlExtender="SSNMaskedEditExtender"
Display="Dynamic"
IsValidEmpty="False"
EmptyValueMessage="*SSN"
ErrorMessage="*SSN" />
<asp:RegularExpressionValidator ID="SSNRegularExpressionValidator" runat="server"
ValidationGroup="WizardValidationGroup"
ErrorMessage="*Invalid SSN"
Display="Dynamic"
ControlToValidate="SSNTextBox"
ValidationExpression="^(?!000000000)\d{9}$" />
</td>
</tr>
<tr>
<td class="subContentBox" style="width:80px; background-color: Transparent; text-align: right; vertical-align: top;">Email</td>
<td style="padding-left: 10px; background-color: Transparent; text-align: left; vertical-align: middle;">
<asp:TextBox runat="server" ID="EmailTextBox" CssClass="TextControl" Columns="50" maxLength="50" tabindex="5" CausesValidation="True" AutoCompleteType="Email" />
<asp:RegularExpressionValidator ID="EmailRegularExpressionValidator"
runat="server"
ControlToValidate="EmailTextBox"
ErrorMessage="*Invalid Email"
Display="Dynamic"
ValidationGroup="WizardValidationGroup"
ValidationExpression="^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3})|(aero|coop|info|museum|name))$" />
</td>
</tr>
</table>