ASP:RequiredTextBox Control Source Code
9/18/2007 12:32:58 AM
Here is the source for the RequiredTextBox control I wrote about earlier. You can drop this in your App_Code directory or compile it in a separate Web Control Library (what I did). Plus, if you compile it is a dll (or download the .dll) you can drop it into your Visual Studio 2005 Toolbox and drag it onto your forms for future use.
Read the original entry for demos. If you add any cool controls or extensions let me know about them or share in the comments.
Registering
<%@ Register TagPrefix="asp" Namespace="ControlExtensionLibrary" Assembly="ControlExtensionLibrary" %>
Class
using System;
using System.Web.UI;
using System.Drawing;
using System.ComponentModel;
using System.Web.UI.WebControls;
namespace
ControlExtensions
{
[
ToolboxData(
"<{0}:RequiredTextBox runat=\"server\" />")]
public class RequiredTextBox :
TextBox
{
[
Bindable(
true)]
[
Category(
"Validation")]
[
DefaultValue(
"")]
[
Localizable(
true)]
public bool IsRequired
{
get {
return (
bool)(ViewState[
"IsRequired"] ??
false); }
set { ViewState[
"IsRequired"] =
value; }
}
public string ErrorMessage
{
get {
return (
string)ViewState[
"ErrorMessage"] ??
"*"; }
set { ViewState[
"ErrorMessage"] =
value; }
}
public new string ValidationGroup
{
get { return (string)ViewState["ValidationGroup"] ?? ""; }
set { ViewState["ValidationGroup"] = value; }
}
public bool EnableClientScript
{
get { return (bool)(ViewState["EnableClientScript"] ?? true); }
set { ViewState["EnableClientScript"] = value; }
}
private RequiredFieldValidator _required;
protected override void OnInit(EventArgs e)
{
if (IsRequired)
{
_required = new RequiredFieldValidator();
_required.ControlToValidate = ID;
_required.ErrorMessage = string.Format(" {0}", ErrorMessage);
_required.EnableClientScript = EnableClientScript;
if (!string.IsNullOrEmpty(ValidationGroup))
_required.ValidationGroup = ValidationGroup;
Controls.Add(_required);
}
}
protected override void Render(HtmlTextWriter htmlTextWriter)
{
base.Render(htmlTextWriter);
if (IsRequired)
_required.RenderControl(htmlTextWriter);
}
}
}
Download
WillAsrariControlExtensionLibrary.091707.zip (.dll)
C#,
Code
