Author: juraj
Date: 2006-06-28 16:01:15 -0400 (Wed, 28 Jun 2006)
New Revision: 62127

Modified:
   trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
   
trunk/mcs/class/System.Web/System.Web.UI.WebControls/RegularExpressionValidator.cs
   trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/ChangeLog
   
trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/RegularExpressionValidatorTest.cs
Log:
2006-06-28 Juraj Skripsky <[EMAIL PROTECTED]>

        * RegularExpressionValidator.cs (EvaluateIsValid): wrap regex to
        test against with "^...$" if necessary. MS.NET does this too.

2006-06-28 Juraj Skripsky <[EMAIL PROTECTED]>

        * RegularExpressionValidatorTest.cs: check for automatic wrapping of
        expression with "^...$".



Modified: trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
===================================================================
--- trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog      
2006-06-28 19:39:27 UTC (rev 62126)
+++ trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog      
2006-06-28 20:01:15 UTC (rev 62127)
@@ -1,3 +1,8 @@
+2006-06-28 Juraj Skripsky <[EMAIL PROTECTED]>
+
+       * RegularExpressionValidator.cs (EvaluateIsValid): wrap regex to
+       test against with "^...$" if necessary. MS.NET does this too.
+ 
 2006-06-28  Vladimir Krasnov  <[EMAIL PROTECTED]>
 
        * WizardStepCollection.cs: Fixed Add methods to initialize

Modified: 
trunk/mcs/class/System.Web/System.Web.UI.WebControls/RegularExpressionValidator.cs
===================================================================
--- 
trunk/mcs/class/System.Web/System.Web.UI.WebControls/RegularExpressionValidator.cs
  2006-06-28 19:39:27 UTC (rev 62126)
+++ 
trunk/mcs/class/System.Web/System.Web.UI.WebControls/RegularExpressionValidator.cs
  2006-06-28 20:01:15 UTC (rev 62127)
@@ -29,6 +29,7 @@
 using System.ComponentModel;
 using System.Web;
 using System.Web.UI.WebControls;
+using System.Text;
 using System.Text.RegularExpressions;
 using System.Security.Permissions;
 
@@ -65,7 +66,15 @@
                        if (GetControlValidationValue 
(ControlToValidate).Trim() == "")
                                return true;
 
-                       return Regex.IsMatch 
(GetControlValidationValue(ControlToValidate), ValidationExpression);
+                       StringBuilder expr = new 
StringBuilder(ValidationExpression);
+
+                       if (expr.Length == 0 || expr [0] != '^')
+                               expr.Insert(0, '^');
+                                                               
+                       if (expr [expr.Length - 1] != '$')
+                               expr.Append('$');
+                               
+                       return Regex.IsMatch 
(GetControlValidationValue(ControlToValidate), expr.ToString ());
                }
 
 #if NET_2_0

Modified: trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/ChangeLog
===================================================================
--- trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/ChangeLog 
2006-06-28 19:39:27 UTC (rev 62126)
+++ trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/ChangeLog 
2006-06-28 20:01:15 UTC (rev 62127)
@@ -1,3 +1,8 @@
+2006-06-28 Juraj Skripsky <[EMAIL PROTECTED]>
+
+       * RegularExpressionValidatorTest.cs: check for automatic wrapping of
+       expression with "^...$".
+
 2006-06-28 Vladimir Krasnov <[EMAIL PROTECTED]>
 
        * Added WizardTest.cs: Wizard control basic tests

Modified: 
trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/RegularExpressionValidatorTest.cs
===================================================================
--- 
trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/RegularExpressionValidatorTest.cs
 2006-06-28 19:39:27 UTC (rev 62126)
+++ 
trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/RegularExpressionValidatorTest.cs
 2006-06-28 20:01:15 UTC (rev 62127)
@@ -96,7 +96,20 @@
 
                        box.Text = "9410";
                        Assert.IsFalse (p.DoEvaluateIsValid (), "B2");
+                       
+                       box.Text = "12345 ";
+                       Assert.IsFalse (p.DoEvaluateIsValid (), "B3");
 
+                       box.Text = " 12345";
+                       Assert.IsFalse (p.DoEvaluateIsValid (), "B4");
+                       
+                       box.Text = " 12345 ";
+                       Assert.IsFalse (p.DoEvaluateIsValid (), "B5");
+                       
+                       p.ValidationExpression = "^\\d{5}$";
+                       box.Text = "12345";
+                       Assert.IsTrue (p.DoEvaluateIsValid (), "B6");
+
                        StopValidationTest();
                }
        }

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to