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