diff options
author | xue <> | 2006-06-10 14:58:25 +0000 |
---|---|---|
committer | xue <> | 2006-06-10 14:58:25 +0000 |
commit | 233ad780df391ed4af569929c30a1370d2b440ef (patch) | |
tree | 4438c64202dfc25dd7be0992d18c442a03631e12 /framework/Web/UI/WebControls/TBaseValidator.php | |
parent | c6b4190fab88201f4efaa0d00a6aa823b180f482 (diff) |
Merge from 3.0 branch till 1150.
Fixed the bug that postback js causes controls not inheritable.
Diffstat (limited to 'framework/Web/UI/WebControls/TBaseValidator.php')
-rw-r--r-- | framework/Web/UI/WebControls/TBaseValidator.php | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/framework/Web/UI/WebControls/TBaseValidator.php b/framework/Web/UI/WebControls/TBaseValidator.php index 3c76db30..3fe9ee03 100644 --- a/framework/Web/UI/WebControls/TBaseValidator.php +++ b/framework/Web/UI/WebControls/TBaseValidator.php @@ -264,16 +264,21 @@ abstract class TBaseValidator extends TLabel implements IValidator { if($this->getEnabled(true)) { - $class = get_class($this); - $scriptKey = "prado:".$this->getClientID(); - $scripts = $this->getPage()->getClientScript(); - $options = TJavaScript::encode($this->getClientScriptOptions()); - $js = "new Prado.WebUI.{$class}({$options});"; - $scripts->registerEndScript($scriptKey, $js); + $key = 'prado:'.$this->getClientID(); + $options = TJavaScript::encode($this->getClientScriptOptions()); + $script = 'new '.$this->getClientClassName().'('.$options.');'; + $this->getPage()->getClientScript()->registerEndScript($key, $script); } } /** + * Gets the name of the javascript class responsible for performing validation for this control. + * This method overrides the parent implementation. + * @return string the javascript class name + */ + abstract protected function getClientClassName(); + + /** * This method overrides the parent implementation to forbid setting ForControl. * @param string the associated control ID * @throws TNotSupportedException whenever this method is called |