diff --git a/src/Spring/Spring.Web/Web/UI/Page.cs b/src/Spring/Spring.Web/Web/UI/Page.cs index fc43efbf..d4887ed1 100644 --- a/src/Spring/Spring.Web/Web/UI/Page.cs +++ b/src/Spring/Spring.Web/Web/UI/Page.cs @@ -1212,7 +1212,7 @@ namespace Spring.Web.UI ///Instructs any validation controls included on the page to validate their assigned information. /// /// - public override void Validate() + public new virtual void Validate() { base.Validate(); } @@ -1223,7 +1223,7 @@ namespace Spring.Web.UI /// /// ///The validation group name of the controls to validate. - public override void Validate(string validationGroup) + public new virtual void Validate(string validationGroup) { base.Validate(validationGroup); } diff --git a/test/Spring/Spring.Web.Tests/Web/UI/PageTests.cs b/test/Spring/Spring.Web.Tests/Web/UI/PageTests.cs index 455b374b..68847894 100644 --- a/test/Spring/Spring.Web.Tests/Web/UI/PageTests.cs +++ b/test/Spring/Spring.Web.Tests/Web/UI/PageTests.cs @@ -46,6 +46,22 @@ namespace Spring.Web.UI [TestFixture] public class PageTests : TestWebContextTests { + class MockValidator : System.Web.UI.WebControls.BaseValidator + { + public bool WasCalled = false; + + protected override bool ControlPropertiesValid() + { + return true; + } + + protected override bool EvaluateIsValid() + { + WasCalled = true; + return true; + } + } + [Test] public void NoSharedStateAtConstruction() { @@ -53,6 +69,26 @@ namespace Spring.Web.UI Assert.IsNull(page.SharedState); } + [Test] + public void CallsBaseValidateMethod() + { + Page child = new Page(); + MockValidator mockValidator = new MockValidator(); + mockValidator.ValidationGroup = "theValidationGroup"; + child.Validators.Add( mockValidator ); + + child.Validate(mockValidator.ValidationGroup); + Assert.IsTrue(mockValidator.WasCalled); + + child = new Page(); + mockValidator = new MockValidator(); + mockValidator.ValidationGroup = "theValidationGroup"; + child.Validators.Add( mockValidator ); + + child.Validate(); + Assert.IsTrue(mockValidator.WasCalled); + } + [Test] public void Validate() {