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