From baf2eb12bc99905ad18fadaa4a542a0d109f9245 Mon Sep 17 00:00:00 2001
From: xue <>
Date: Sat, 21 Jan 2006 03:57:16 +0000
Subject: TTextBox demo completed. Fixed a few issues related with
AutoPostBack=true.
---
.../protected/pages/Controls/Samples/TTextBox/Home.page | 9 +++++----
demos/quickstart/protected/pages/Controls/Simple.page | 7 +++++++
framework/Web/UI/TPage.php | 12 ++----------
framework/Web/UI/WebControls/TRequiredFieldValidator.php | 2 +-
framework/Web/UI/WebControls/TTextBox.php | 9 ++-------
5 files changed, 17 insertions(+), 22 deletions(-)
diff --git a/demos/quickstart/protected/pages/Controls/Samples/TTextBox/Home.page b/demos/quickstart/protected/pages/Controls/Samples/TTextBox/Home.page
index 246ecfec..f771b2ba 100644
--- a/demos/quickstart/protected/pages/Controls/Samples/TTextBox/Home.page
+++ b/demos/quickstart/protected/pages/Controls/Samples/TTextBox/Home.page
@@ -58,12 +58,13 @@ Auto postback text box not causing validation:
Auto postback text box causing validation:
+ Text="change me to 'test' and see" />
|
@@ -157,10 +158,10 @@ Auto postback text box causing validation:
TextMode="MultiLine"
AutoPostBack="true"
ValidationGroup="Group2"
- Text="change me" />
+ Text="change me to 'test' and see" />
diff --git a/demos/quickstart/protected/pages/Controls/Simple.page b/demos/quickstart/protected/pages/Controls/Simple.page
index f6f981c4..a244429d 100644
--- a/demos/quickstart/protected/pages/Controls/Simple.page
+++ b/demos/quickstart/protected/pages/Controls/Simple.page
@@ -39,6 +39,13 @@
TButton
+
+TButton creates a click button on a Web page. The button's caption is specified by Text property. A button is used to submit data to a page. TButton raises two server-side events, Click and Command, when it is clicked on the client-side. The difference between Click and Command events is that the latter event is bubbled up to the button's ancestor controls. A Command event handler can use CommandName and CommandParameter associated with the event to perform specific actions.
+
+
+Clicking on button can trigger form validation, if CausesValidationis true. And the validation may be restricted within a certain group of validator controls according to ValidationGroup.
+
+
TLinkButton
diff --git a/framework/Web/UI/TPage.php b/framework/Web/UI/TPage.php
index ba0d8003..1dcc0b99 100644
--- a/framework/Web/UI/TPage.php
+++ b/framework/Web/UI/TPage.php
@@ -287,17 +287,9 @@ class TPage extends TTemplateControl
if($this->_validators && $this->_validators->getCount())
{
Prado::trace("Page validate",'System.Web.UI.TPage');
- if($validationGroup==='')
- {
- foreach($this->_validators as $validator)
+ foreach($this->_validators as $validator)
+ if($validator->getValidationGroup()===$validationGroup)
$validator->validate();
- }
- else
- {
- foreach($this->_validators as $validator)
- if($validator->getValidationGroup()===$validationGroup)
- $validator->validate();
- }
}
}
diff --git a/framework/Web/UI/WebControls/TRequiredFieldValidator.php b/framework/Web/UI/WebControls/TRequiredFieldValidator.php
index 2d1dd612..df6c2abf 100644
--- a/framework/Web/UI/WebControls/TRequiredFieldValidator.php
+++ b/framework/Web/UI/WebControls/TRequiredFieldValidator.php
@@ -36,7 +36,7 @@ class TRequiredFieldValidator extends TBaseValidator
*/
public function getInitialValue()
{
- $this->getViewState('InitialValue','');
+ return $this->getViewState('InitialValue','');
}
/**
diff --git a/framework/Web/UI/WebControls/TTextBox.php b/framework/Web/UI/WebControls/TTextBox.php
index 111fec1e..276982ac 100644
--- a/framework/Web/UI/WebControls/TTextBox.php
+++ b/framework/Web/UI/WebControls/TTextBox.php
@@ -232,13 +232,8 @@ class TTextBox extends TWebControl implements IPostBackDataHandler, IValidatable
*/
public function raisePostDataChangedEvent()
{
- $page=$this->getPage();
- if($this->getAutoPostBack() && !$page->getPostBackEventTarget())
- {
- $page->setPostBackEventTarget($this);
- if($this->getCausesValidation())
- $page->validate($this->getValidationGroup());
- }
+ if($this->getAutoPostBack() && $this->getCausesValidation())
+ $this->getPage()->validate($this->getValidationGroup());
$this->onTextChanged(null);
}
--
cgit v1.2.3