From 227022824e69bacae789c30277cefb3b1c159914 Mon Sep 17 00:00:00 2001 From: bbaia Date: Wed, 29 Sep 2010 17:21:38 +0000 Subject: [PATCH] Attribute 'expression' for 'regex' element in the validation schema is not parsed correctly [SPRNET-1377] --- doc/reference/src/validation.xml | 2 +- .../Validation/Config/ValidationNamespaceParser.cs | 2 +- .../Validation/ValidationNamespaceParserTests.cs | 8 ++++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/doc/reference/src/validation.xml b/doc/reference/src/validation.xml index c636b4ea..3e6a840b 100644 --- a/doc/reference/src/validation.xml +++ b/doc/reference/src/validation.xml @@ -449,7 +449,7 @@ has been added in 1.3.1 to support the correct behavior. - This property will be removed for next major/minor version 2.0 and implementation + This property will be removed for next major/minor version and implementation will be fixed to get the intented behavior. diff --git a/src/Spring/Spring.Core/Validation/Config/ValidationNamespaceParser.cs b/src/Spring/Spring.Core/Validation/Config/ValidationNamespaceParser.cs index bc0ca37b..1c9b0455 100644 --- a/src/Spring/Spring.Core/Validation/Config/ValidationNamespaceParser.cs +++ b/src/Spring/Spring.Core/Validation/Config/ValidationNamespaceParser.cs @@ -381,7 +381,7 @@ namespace Spring.Validation.Config public const string ReferenceNameAttribute = "name"; public const string ReferenceContextAttribute = "context"; - public const string RegexExpressionAttribute = "fast-validate"; + public const string RegexExpressionAttribute = "expression"; public const string GroupFastValidateAttribute = "fast-validate"; diff --git a/test/Spring/Spring.Core.Tests/Validation/ValidationNamespaceParserTests.cs b/test/Spring/Spring.Core.Tests/Validation/ValidationNamespaceParserTests.cs index 430bf124..00569474 100644 --- a/test/Spring/Spring.Core.Tests/Validation/ValidationNamespaceParserTests.cs +++ b/test/Spring/Spring.Core.Tests/Validation/ValidationNamespaceParserTests.cs @@ -123,6 +123,14 @@ namespace Spring.Validation IObjectDefinition actionDefinition = (IObjectDefinition)actions[2]; Assert.AreEqual(typeof(ExpressionAction), actionDefinition.ObjectType); Assert.AreEqual("#now = DateTime.Now", actionDefinition.PropertyValues.GetPropertyValue("Valid").Value); + + def = registry.GetObjectDefinition("regex"); + Assert.IsTrue(def.IsSingleton); + Assert.IsTrue(def.IsLazyInit); + Assert.IsTrue(typeof(IValidator).IsAssignableFrom(def.ObjectType)); + PropertyValue expressionProperty = def.PropertyValues.GetPropertyValue("Expression"); + Assert.IsNotNull(expressionProperty); + Assert.AreEqual("RegExp", expressionProperty.Value); } private XmlDocument GetValidatedXmlResource(string resourceExtension)