* PagedDataSource.cs (PrivateICollectionEnumerator.MoveNext):
[mono.git] / mcs / class / System.Web / System.Web.UI.WebControls / CompareValidator.cs
index 4ba230235af563501849972b45cc3981ca71d74c..0dddee6728480cbd2d3296a4e1c7ae74e3d9571b 100644 (file)
@@ -1,87 +1,99 @@
-/**\r
-* Namespace: System.Web.UI.WebControls\r
-* Class:     CompareValidator\r
-*\r
-* Author:  Gaurav Vaish\r
-* Maintainer: gvaish@iitk.ac.in\r
-* Implementation: yes\r
-* Status:  80%\r
-*\r
-* (C) Gaurav Vaish (2001)\r
-*/\r
-\r
-using System;\r
-using System.Web;\r
-using System.Web.UI;\r
-\r
-namespace System.Web.UI.WebControls\r
-{\r
-       public class CompareValidator: BaseCompareValidator\r
-       {\r
-               public CompareValidator()\r
-               {\r
-                       // Intitalize();\r
-               }\r
-\r
-               public string ControlToCompare\r
-               {\r
-                       get\r
-                       {\r
-                               object o = ViewState["ControlToCompare"];\r
-                               if(o!=null)\r
-                                       return (string)o;\r
-                               return String.Empty;\r
-                       }\r
-\r
-                       set\r
-                       {\r
-                               ViewState["ControlToCompare"] = value;\r
-                       }\r
-               }\r
-\r
-               public ValidationCompareOperator Operator\r
-               {\r
-                       get\r
-                       {\r
-                               object o = ViewState["Operator"];\r
-                               if(o!=null)\r
-                                       return (ValidationCompareOperator)o;\r
-                               return ValidationCompareOperator.Equal;\r
-                       }\r
-                       set\r
-                       {\r
-                               if(!System.Enum.IsDefined(typeof(ValidationCompareOperator), value))\r
-                                       throw new ArgumentException();\r
-                               ViewState["Operator"] = value;\r
-                       }\r
-               }\r
-\r
-               public string ValueToCompare\r
-               {\r
-                       get\r
-                       {\r
-                               object o = ViewState["ValueToCompare"];\r
-                               if(o!=null)\r
-                                       return (string)o;\r
-                               return String.Empty;\r
-                       }\r
-                       set\r
-                       {\r
-                               ViewState["ValueToCompare"] = value;\r
-                       }\r
-               }\r
-\r
-               [MonoTODO]\r
-               protected override bool EvaluateIsValid()\r
-               {\r
-                       string ctrl = GetControlValidationValue(ControlToValidate);\r
-                       throw new NotImplementedException();\r
-                       if(ctrl!=null && ctrl.Length > 0)\r
-                       {\r
-                               //string\r
-                               throw new NotImplementedException();\r
-                       }\r
-                       return true;\r
-               }\r
-       }\r
-}\r
+//
+// System.Web.UI.WebControls.CompareValidator.cs
+//
+// Authors:
+//   Gaurav Vaish (gvaish@iitk.ac.in)
+//   Andreas Nahr (ClassDevelopment@A-SoftTech.com)
+//
+// (C) Gaurav Vaish (2002)
+// (C) 2003 Andreas Nahr
+//
+
+using System;
+using System.Web;
+using System.Web.UI;
+using System.ComponentModel;
+
+namespace System.Web.UI.WebControls
+{
+       [ToolboxData("<{0}:CompareValidator runat=\"server\""
+                    + "ErrorMessage=\"CompareValidator\"></{0}:CompareValidator>")]
+       public class CompareValidator: BaseCompareValidator
+       {
+               public CompareValidator()
+               {
+                       // Intitalize();
+               }
+
+               [DefaultValue (""), WebCategory ("Behavior")]
+               [TypeConverter (typeof (ValidatedControlConverter))]
+               [WebSysDescription ("The ID of a control that is compared.")]
+               public string ControlToCompare
+               {
+                       get
+                       {
+                               object o = ViewState["ControlToCompare"];
+                               if(o!=null)
+                                       return (string)o;
+                               return String.Empty;
+                       }
+
+                       set
+                       {
+                               ViewState["ControlToCompare"] = value;
+                       }
+               }
+
+               [DefaultValue (typeof (ValidationCompareOperator), "Equal"), WebCategory ("Behavior")]
+               [WebSysDescription ("The operator that is used for comparison.")]
+               public ValidationCompareOperator Operator
+               {
+                       get
+                       {
+                               object o = ViewState["Operator"];
+                               if(o!=null)
+                                       return (ValidationCompareOperator)o;
+                               return ValidationCompareOperator.Equal;
+                       }
+                       set
+                       {
+                               if(!System.Enum.IsDefined(typeof(ValidationCompareOperator), value))
+                                       throw new ArgumentException();
+                               ViewState["Operator"] = value;
+                       }
+               }
+
+               [DefaultValue (""), Bindable (true), WebCategory ("Behavior")]
+               [WebSysDescription ("The value that is compared to.")]
+               public string ValueToCompare
+               {
+                       get
+                       {
+                               object o = ViewState["ValueToCompare"];
+                               if(o!=null)
+                                       return (string)o;
+                               return String.Empty;
+                       }
+                       set
+                       {
+                               ViewState["ValueToCompare"] = value;
+                       }
+               }
+
+               protected override bool EvaluateIsValid ()
+               {
+                       string ctrl = GetControlValidationValue (ControlToValidate);
+                       if (ctrl == null || ctrl.Length == 0)
+                               return true;
+
+                       string cmp;
+                       if (ControlToCompare.Length > 0) {
+                               cmp = GetControlValidationValue (ControlToCompare);
+                       } else {
+                               cmp = ValueToCompare;
+                       }
+
+                       return Compare (ctrl, cmp, Operator, Type);
+               }
+       }
+}