2 // System.Web.UI.WebControls.CompareValidator.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
15 using System.ComponentModel;
17 namespace System.Web.UI.WebControls
19 [ToolboxData("<{0}:CompareValidator runat=\"server\""
20 + "ErrorMessage=\"CompareValidator\"></{0}:CompareValidator>")]
21 public class CompareValidator: BaseCompareValidator
23 public CompareValidator()
28 [DefaultValue (""), WebCategory ("Behavior")]
29 [TypeConverter (typeof (ValidatedControlConverter))]
30 [WebSysDescription ("The ID of a control that is compared.")]
31 public string ControlToCompare
35 object o = ViewState["ControlToCompare"];
43 ViewState["ControlToCompare"] = value;
47 [DefaultValue (typeof (ValidationCompareOperator), "Equal"), WebCategory ("Behavior")]
48 [WebSysDescription ("The operator that is used for comparison.")]
49 public ValidationCompareOperator Operator
53 object o = ViewState["Operator"];
55 return (ValidationCompareOperator)o;
56 return ValidationCompareOperator.Equal;
60 if(!System.Enum.IsDefined(typeof(ValidationCompareOperator), value))
61 throw new ArgumentException();
62 ViewState["Operator"] = value;
66 [DefaultValue (""), Bindable (true), WebCategory ("Behavior")]
67 [WebSysDescription ("The value that is compared to.")]
68 public string ValueToCompare
72 object o = ViewState["ValueToCompare"];
79 ViewState["ValueToCompare"] = value;
83 protected override bool EvaluateIsValid ()
85 string ctrl = GetControlValidationValue (ControlToValidate);
86 if (ctrl == null || ctrl.Length == 0)
90 if (ControlToCompare.Length > 0) {
91 cmp = GetControlValidationValue (ControlToCompare);
96 return Compare (ctrl, cmp, Operator, Type);