-/**\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);
+ }
+ }
+}