2003-09-04 Sebastien Pouliot <spouliot@videotron.ca>
[mono.git] / mcs / class / System.Web.Mobile / System.Web.UI.MobileControls / CompareValidator.cs
1 /**
2  * Project   : Mono
3  * Namespace : System.Web.UI.MobileControls
4  * Class     : CompareValidator
5  * Author    : Gaurav Vaish
6  *
7  * Copyright : 2003 with Gaurav Vaish, and with
8  *             Ximian Inc
9  */
10
11 using System.ComponentModel;
12 using System.Web.UI;
13 using System.Web.Mobile;
14 using System.Web.UI.WebControls;
15
16 namespace System.Web.UI.MobileControls
17 {
18         public class CompareValidator : BaseValidator
19         {
20                 private System.Web.UI.WebControls.CompareValidator webCmpVal;
21                 
22                 public CompareValidator()
23                 {
24                 }
25                 
26                 protected override System.Web.UI.WebControls.BaseValidator CreateWebValidator()
27                 {
28                         webCmpVal = new System.Web.UI.WebControls.CompareValidator();
29                         return webCmpVal;
30                 }
31                 
32                 protected override bool EvaluateIsValid()
33                 {
34                         return base.EvaluateIsValidInternal();
35                 }
36
37                 protected override bool ControlPropertiesValid()
38                 {
39                         if(ControlToCompare.Length > 0)
40                         {
41                                 base.CheckControlValidationProperty(ControlToCompare, "ControlToCompare");
42                                 if(String.Compare(ControlToCompare, ControlToValidate, true) == 0)
43                                 {
44                                         // FIXME
45                                         throw new ArgumentException("CompareValidator_BadCompareControl");
46                                 }
47                         } else
48                         {
49                                 if(Operator != ValidationCompareOperator.DataTypeCheck)
50                                 {
51                                         if(!BaseCompareValidator.CanConvert(ValueToCompare, Type))
52                                         {
53                                                 // FIXME
54                                                 throw new ArgumentException("Validator_ValueBadType");
55                                         }
56                                 }
57                         }
58                         return base.ControlPropertiesValid();
59                 }
60                 
61                 public string ControlToCompare
62                 {
63                         get
64                         {
65                                 return webCmpVal.ControlToCompare;
66                         }
67                         set
68                         {
69                                 webCmpVal.ControlToCompare = value;
70                         }
71                 }
72                 
73                 public ValidationCompareOperator Operator
74                 {
75                         get
76                         {
77                                 return webCmpVal.Operator;
78                         }
79                         set
80                         {
81                                 webCmpVal.Operator = value;
82                         }
83                 }
84                 
85                 public ValidationDataType Type
86                 {
87                         get
88                         {
89                                 return webCmpVal.Type;
90                         }
91                         set
92                         {
93                                 webCmpVal.Type = value;
94                         }
95                 }
96                 
97                 public string ValueToCompare
98                 {
99                         get
100                         {
101                                 return webCmpVal.ValueToCompare;
102                         }
103                         set
104                         {
105                                 webCmpVal.ValueToCompare = value;
106                         }
107                 }
108         }
109 }