From 152f44e871998d6715a9b7d39e8d2bc30530aaf1 Mon Sep 17 00:00:00 2001
From: xue <>
Date: Thu, 30 Mar 2006 16:59:18 +0000
Subject: Fixed #106.

---
 HISTORY                                       |  3 ++-
 framework/Web/UI/WebControls/THiddenField.php | 12 +++++++++++-
 framework/Web/UI/WebControls/TTextBox.php     |  7 ++++---
 3 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/HISTORY b/HISTORY
index 8157298a..d8cfffbd 100644
--- a/HISTORY
+++ b/HISTORY
@@ -11,9 +11,10 @@ BUG: SF#1432624 - Incorrect documentation about caching expiry (Qiang)
 BUG: THttpSession fails when user storage module is used (Qiang)
 CHG: TTextHighlighter.EnableCopyCode defaults to false (Qiang)
 CHG: Reorganized quickstart tutorial demo, added new sections (Qiang)
+ENH: Ticket#92 - Support for user exception message file (Qiang)
+ENH: Ticket#106 - Support for validation on THiddenField (Qiang)
 ENH: TDataFieldAccessor can access public class variables (Qiang)
 ENH: Pagers in TDataGrid are now enclosed within panels (Qiang)
-ENH: Ticket#92 - Support for user exception message file (Qiang)
 ENH: TPhpErrorException now shows the actual error lines (Qiang)
 NEW: TSQLMap module (Wei)
 NEW: TStack class (Qiang)
diff --git a/framework/Web/UI/WebControls/THiddenField.php b/framework/Web/UI/WebControls/THiddenField.php
index b920d1ad..54ecde08 100644
--- a/framework/Web/UI/WebControls/THiddenField.php
+++ b/framework/Web/UI/WebControls/THiddenField.php
@@ -23,7 +23,7 @@
  * @package System.Web.UI.WebControls
  * @since 3.0
  */
-class THiddenField extends TControl implements IPostBackDataHandler
+class THiddenField extends TControl implements IPostBackDataHandler, IValidatable
 {
 	/**
 	 * @return string tag name of the hidden field.
@@ -82,6 +82,16 @@ class THiddenField extends TControl implements IPostBackDataHandler
 		}
 	}
 
+	/**
+	 * Returns the value to be validated.
+	 * This methid is required by IValidatable interface.
+	 * @return mixed the value of the property to be validated.
+	 */
+	public function getValidationPropertyValue()
+	{
+		return $this->getValue();
+	}
+
 	/**
 	 * Raises postdata changed event.
 	 * This method calls {@link onValueChanged} method.
diff --git a/framework/Web/UI/WebControls/TTextBox.php b/framework/Web/UI/WebControls/TTextBox.php
index bc490cdc..feea6227 100644
--- a/framework/Web/UI/WebControls/TTextBox.php
+++ b/framework/Web/UI/WebControls/TTextBox.php
@@ -139,13 +139,14 @@ class TTextBox extends TWebControl implements IPostBackDataHandler, IValidatable
 		}
 		if($this->getReadOnly())
 			$writer->addAttribute('readonly','readonly');
-		if(!$this->getEnabled(true) && $this->getEnabled())  // in this case parent will not render 'disabled'
+		$isEnabled=$this->getEnabled(true);
+		if(!$isEnabled && $this->getEnabled())  // in this case parent will not render 'disabled'
 			$writer->addAttribute('disabled','disabled');
-		if($this->getEnabled(true) && $this->getAutoPostBack() && $page->getClientSupportsJavaScript())
+		if($isEnabled && $this->getAutoPostBack() && $page->getClientSupportsJavaScript())
 		{
 			$writer->addAttribute('id',$this->getClientID());
 			$this->getPage()->getClientScript()->registerPostBackControl('Prado.WebUI.TTextBox',$this->getPostBackOptions());
-	}
+		}
 		parent::addAttributesToRender($writer);
 	}
 
-- 
cgit v1.2.3