Mega Code Archive

 
Categories / ASP.Net Tutorial / Validation
 

Custom validator with Javascript

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"  Inherits="UsingCustomValidator" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">     <title>Using a CustomValidator</title> </head> <body>     <form id="form1" runat="server">          Enter a date:<br />     <asp:TextBox ID="txtDate" runat="server"></asp:TextBox>     <asp:CustomValidator ID="custDate" runat="server"         ControlToValidate="txtDate"         ValidateEmptyText="false"          Text="Enter a valid future date"         OnServerValidate="custDate_ServerValidate" />            <script type="text/javascript">      function validateOrFields(source, args){        var sUser = document.form1.<%= txtUser.ClientID %>.value;        var sEmail = document.form1.<%= txtEmail.ClientID %>.value;                if (sUser == "" && sEmail == "")        {           args.IsValid = false;        }        else        {           args.IsValid = true;        }          return;        }    </script>        Enter user name:<br />    <asp:TextBox ID="txtUser" runat="server"></asp:TextBox>    <br />    Enter email:<br />    <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>    <asp:CustomValidator ID="OrFieldValidator"                          runat="server"                          Text="Enter either a user name or a email"                          ClientValidationFunction="validateOrFields"                         OnServerValidate="OrFieldValidator_ServerValidate" />               <asp:Button ID="btnSubmit" Text="Click this to test validation" runat="server" />        </form> </body> </html> <script type="text/javascript">   ValidatorHookupControlID("<%= txtUser.ClientID %>",document.getElementById("<%= OrFieldValidator.ClientID %>"));   ValidatorHookupControlID("<%= txtEmail.ClientID %>",document.getElementById("<%= OrFieldValidator.ClientID %>")); </script> File: Default.aspx.cs using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class UsingCustomValidator : System.Web.UI.Page {    protected void custDate_ServerValidate(object source, ServerValidateEventArgs args)    {       string sEnteredDate = args.Value;       DateTime dt;       bool convertSuccessful = DateTime.TryParse(sEnteredDate, out dt);       if (convertSuccessful && dt >= DateTime.Today)          args.IsValid = true;       else          args.IsValid = false;    }    protected void OrFieldValidator_ServerValidate(object source, ServerValidateEventArgs args)    {       if (txtUser.Text.Length <= 0 && txtEmail.Text.Length <= 0)          args.IsValid = false;       else          args.IsValid = true;    } }