index
Using Validation Controls
Need a ValidationSummary at the top:
<div class="w100P">
<asp:ValidationSummary ID="vldAddSupportIncidentSummary" runat="server"
CssClass="validation" Style="margin-top:-5px; margin-bottom:10px;"
EnableClientScript="true" DisplayMode="BulletList"
HeaderText="The Following Error(s) Occurred:" ShowSummary="true"
ValidationGroup="AddSupportIncident" Visible="true" />
</div>
Validating a TextBox:
<asp:TextBox ID="txtUserAffected" runat="server" />
<asp:RequiredFieldValidator runat="server"
ID="vldUserAffected"
ControlToValidate="txtUserAffected"
ValidationGroup="AddSupportIncident"
ErrorMessage="A User Affected by this Request is Required" Display="None" />
Validating a DropDownList:
<asp:DropDownList ID="ddlBestContact" runat="server" />
<asp:RequiredFieldValidator runat="server" ID="vldBestContact"
ControlToValidate="ddlBestContact" ValidationGroup="AddSupportIncident"
InitialValue="-99"
ErrorMessage="A Best Contact Method is Required" Display="None" />
What you need on the submit button:
<asp:LinkButton ID="lbSave" ValidationGroup="AddSupportIncident"
runat="server" Text="Add" CssClass="button" OnClick="lbSave_Click" />
And in code behind:
protected void lbSave_Click(object sender, EventArgs e)
{
try
{
//Page.Validate(vldAddSupportIncidentSummary.ValidationGroup);
if (Page.IsValid)
{
//AddIncident();
}
}
catch (System.Exception ex)
{
//HandleError(ex);
}
}
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
..\VRM.Website.ITPortal\Directory\ContactDetail.aspx
<fieldset>
<label>E-Mail:</label>
<asp:TextBox ID="txtEmail" runat="server" />
<asp:CustomValidator ID="vldEmailAddress" runat="server"
ControlToValidate="txtEmail"
ErrorMessage="E-Mail Address Is Required And Must Be In A Valid Format."
ClientValidationFunction="validateEmail"
ServerValidate="ValidateEmail"
Display="None"
ValidateEmptyText="true" />
</fieldset>
<fieldset>
<label>Phone:</label>
<telerik:RadMaskedTextBox ID="txtPhoneNumber" runat="server" SkinID="phoneField" />
<asp:CustomValidator ID="vldPhoneNumber" runat="server"
ErrorMessage="Phone Number Must Be In (###)###-#### Format."
ControlToValidate="txtPhoneNumber"
Display="None"
ClientValidationFunction="validatePhoneNumber" />
</fieldset>
..\VRM.Website.ITPortal\Directory\ContactDetail.aspx.cs
private static string ScrubPhoneNumber(string phoneNumber)
{
return phoneNumber.Replace(" ", string.Empty)
.Replace("(", string.Empty)
.Replace(")", string.Empty)
.Replace("-", string.Empty);
}
//using System.Text.RegularExpressions;
protected void ValidateEmail(object sender, ServerValidateEventArgs e)
{
try
{
Regex regex = new Regex(@"^[\w\.\-]+@[a-zA-Z0-9\-]+(\.[a-zA-Z0-9\-]{1,})*(\.[a-zA-Z]{2,3}){1,2}");
e.IsValid = regex.IsMatch(e.Value);
}
catch (System.Exception ex)
{
HandleError(ex);
}
}
..\VRM.Website.ITPortal\Includes\JS\library.js
/* Validation Functions */
function validateName(sender, args) {
args.IsValid = /^([a-zA-Z ]{2,30})$/.test(args.Value);
}
//Email addresses should not be any larger than 50 characters.
function validateEmailLength(sender, args) {
var validEmailLength = 50;
args.IsValid = args.Value.length <= validEmailLength;
}
function validateEmail(sender, args) {
args.IsValid = /^[\w\.\-]+@[a-zA-Z0-9\-]+(\.[a-zA-Z0-9\-]{1,})*(\.[a-zA-Z]{2,3}){1,2}$/.test(args.Value);
}
// Custom validation method for phone number.
function validatePhoneNumber(sender, args) {
args.IsValid = /^(\([2-9]\d{2}\) ?|[2-9]\d{2}[- \/\.]?)\d{3}[- \/\.]?\d{4}$/.test(args.Value);
}
function validateMaskedPhoneNumber(sender, args) {
if (args.Value != "(###)###-####" && args.Value.length > 0) {
args.IsValid = true;
return;
}
args.IsValid = false;
}
// Custom validation method for zip code.
function validateZipCode(sender, args) {
args.IsValid = /^\d{5}[- ]?(\d{4})?$/.test(args.Value);
}
To validate a phone number, per Bobby: be sure to specify an error message, and if it's required, just add the ValidateEmptyText property to "true" and you can get rid of the required field validator you already have.
<telerik:RadMaskedTextBox ID="txtAltPhoneNumber" runat="server" SkinID="phoneField" />
<asp:CustomValidator ID="vldAltPhoneNumber" runat="server" ValidationGroup="AddSupportIncident"
ControlToValidate="txtAltPhoneNumber" Display="None"
ClientValidationFunction="validatePhoneNumber"
ErrorMessage="Alt Phone Number must be in (###) ###-#### format, all numbers, no leading 1" />