2 // System.Web.UI.WebControls.RegularExpressionValidator.cs
5 // Gaurav Vaish (gvaish@iitk.ac.in)
6 // Andreas Nahr (ClassDevelopment@A-SoftTech.com)
8 // (C) Gaurav Vaish (2002)
9 // (C) 2003 Andreas Nahr
13 using System.ComponentModel;
\r
15 using System.Web.UI;
\r
16 using System.Text.RegularExpressions;
\r
18 namespace System.Web.UI.WebControls
\r
20 [ToolboxData("<{0}:RegularExpressionValidator runat=\"server\" "
\r
21 + "ErrorMessage=\"RegularExpressionValidator\">"
\r
22 + "</{0}:RegularExpressionValidator>")]
\r
23 public class RegularExpressionValidator : BaseValidator
\r
25 public RegularExpressionValidator(): base()
\r
29 [DefaultValue (""), Bindable (true), WebCategory ("Behavior")]
30 [Editor ("System.Web.UI.Design.WebControls.RegexTypeEditor, " + Consts.AssemblySystem_Design, typeof (System.Drawing.Design.UITypeEditor))]
31 [WebSysDescription ("A regular expression that is used to validate.")]
\r
32 public string ValidationExpression
\r
36 object o = ViewState["ValidationExpression"];
\r
41 return String.Empty;
\r
47 Regex.IsMatch("", value);
\r
50 throw new HttpException(HttpRuntime.FormatResourceString("Validator_bad_regex", value));
\r
52 ViewState["ValidationExpression"] = value;
\r
56 protected override void AddAttributesToRender(HtmlTextWriter writer)
\r
58 base.AddAttributesToRender(writer);
\r
59 if(base.RenderUplevel)
\r
61 writer.AddAttribute("evaluationfunction", "RegularExpressionValidatorEvaluateIsValid");
\r
62 string exp = ValidationExpression;
\r
65 writer.AddAttribute("validationexpression", exp);
\r
70 protected override bool EvaluateIsValid ()
\r
72 string ctrl = GetControlValidationValue (ControlToValidate);
\r
73 if (ctrl == null || ctrl.Trim ().Length == 0)
\r
78 retVal = Regex.IsMatch (ctrl, "^" + ValidationExpression + "$");
79 } catch (Exception) {
\r